Почему моя деятельность запускается только один раз? - PullRequest
0 голосов
/ 05 января 2012

Я заставил это приложение перейти от одного занятия к другому. и затем вернуться, но после того, как он возвращается к моей основной деятельности, кнопка для перехода к следующему представлению снова ничего не делает? Я думал, что это из startActivityForResult, но я сделал это по-другому, и он все еще не работает ...

Вот код: если нажата кнопка

if (search.isPressed() && searchPressed == false) {
            // show search list
            switch1 = new Intent(MainActivity.this, SearchActivity.class);
            // startActivityForResult(switch1, 0);
            startActivity(switch1);
        }

в следующем занятии:

private OnItemClickListener listListener = new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        String text = (String) ((TextView) arg1).getText();
        String[] selected = text.split(" - ");
        selected[0] = selected[0].replace(' ', '_');
        Log.w("COMPANY", selected[0]);
        Log.w("PART", selected[1]);

        // Intent data = new Intent(SearchActivity.this,
        // MainActivity.class);
        // data.putExtra("key", selected);
        // setResult(RESULT_OK, data);
        MainActivity.searchData = selected;

        finish();

        // startActivity(switch2);
    }

};

//// \ когда предмет нажат, он возвращается на главный экран

Ответы [ 2 ]

1 голос
/ 05 января 2012

Из того, что вы уже опубликовали, я думаю, что у вас действительно возникают проблемы из-за оператора if, а не startActivity ().

Попробуйте поместить вывод журнала внутри этого оператора if:

if (search.isPressed() && searchPressed == false) {
        Log.d(TAG, "Search has been pressed");
        // show search list
        switch1 = new Intent(MainActivity.this, SearchActivity.class);
        // startActivityForResult(switch1, 0);
        startActivity(switch1);
 }

Если вы не видите своего выхода в журнале cat, проблема в операторе if. Если вы опубликуете еще немного кода из этого, я постараюсь помочь вам разобраться. Но кажется, что ваше состояние противоречит. Для меня это выглядит так, будто вы проверяете, нажата ли кнопка поиска и не нажата ли она.

Разместите немного больше кода MainActivity, особенно там, где установлен логический поиск searchPressed.

0 голосов
/ 05 января 2012

Одно из двух условий в первой части кода не выполнится после первого раза.

Так что либо условие

search.isPressed()

или состояние

searchPressed == false

не соответствует действительности

...