Кнопка, чтобы вернуться назад в приложении - PullRequest
1 голос
/ 09 февраля 2012

Мне нужно кодировать кнопку, чтобы вернуться назад к основной активности приложения.

public void onGotoMainActivity(View View)
    {
         Intent intent = new Intent(View.getContext(), MainActivity.class);
         this.startActivity(intent);
    }

Основная деятельность уже началась и не была уничтожена. Так что я не думаю, что это было бы «новым» намерением и не должно ли оно «начинать деятельность»? Разве это не должно просто перевести основное занятие обратно в фокус?

Ответы [ 5 ]

1 голос
/ 09 февраля 2012

Вы также можете использовать это.

Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
1 голос
/ 09 февраля 2012

Вы должны установить FLAG_ACTIVITY_CLEAR_TOP, поэтому вместо запуска нового экземпляра Activity он очистит все Activities на вершине стека и доставит намерение (теперь наверху) Activity с новым Intent

public void onGotoMainActivity(View View)
    {
         Intent intent = new Intent(View.getContext(), MainActivity.class);
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         this.startActivity(intent);
    }
0 голосов
/ 28 февраля 2012

Это все прояснило для меня.

public void onGotoMainActiviy(View View)
{
    Intent intent = new Intent(View.getContext(), MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    CurrentActivity.this.finish();
}

Спасибо всем, что вывели меня на правильный путь. Жизненный цикл мероприятий был вызывающе ценной информацией.

0 голосов
/ 09 февраля 2012

Вы хотите имитировать кнопку возврата?

dispatchKeyevent(Keyevent.ACTION_DOWN, Keyevent.BUTTON_BACK);
dispatchKeyevent(Keyevent.ACTION_UP, Keyevent.BUTTON_BACK);
0 голосов
/ 09 февраля 2012

просто используйте finish() в onClick()

или добавьте это, если у вас более 1 действия в

        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
...