Установить намерение на задний ключ в TabActivity

У меня есть три действия – AB и C, из которых B – вкладка . Сначала запускается операция A, а B запускается с A. Я завершаю операцию A, когда B запускается с использованием этого кода

public void onStop() { super.onStop(); this.finish(); } 

Теперь я хочу запустить Activity C, когда в B.

Я попробовал переопределить ключ, используя этот код

 @Override public void onBackPressed() { this.getParent().onBackPressed(); } 

Это не помогает, поскольку родительская активность завершается при запуске дочерней операции. Что на самом деле происходит, когда я нажимаю клавишу «Назад», это то, что «Активность» выходит на главный экран.

Я попробовал переопределить задний ключ и установить для него намерение

 @Override public void onBackPressed() { Intent backIntent = new Intent(); backIntent.setClass(this, main.class); startActivity(backIntent); } 

Это также не помогает мне. Что может быть возможным решением этой проблемы? Как запустить Activity C при нажатии клавиши «Назад»?

Во-первых, вы не должны заканчивать действие A, когда действие A останавливает это полностью неправильный подход, вместо этого вы должны закончить активность при запуске операции B.

Например

 Intent i = new Intent(this, B.class); startActivity(i); finish(); 

Теперь вы хотите начать действие C, когда пользователь нажимает кнопку «Назад», поэтому используйте приведенный ниже код.

 @Override public void onBackPressed() { Intent backIntent = new Intent(this, C.class); startActivity(backIntent); super.onBackPressed(); } 

Вы должны переопределить onKeyDown

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == event.KEYCODE_BACK) { //Do your code here } return super.onKeyDown(keyCode, event); } } 

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

Чтобы перейти к следующему действию: StartActivity (новый Intent (getApplicationContext (), main.class));

Переопределите метод ниже и импортируйте событие …..

 public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == event.KEYCODE_BACK) { //Write your intent or other code here } return super.onKeyDown(keyCode, event); } 
Intereting Posts
Служба Android перестает работать, когда телефон заблокирован Org.xmlpull.v1.XmlPullParserException для "недопустимого растрового изображения с ярлыком" Цепь двух модифицированных наблюдаемых ж / RxJava Android: расширение Linearlayout, но для RelativeLayout оно тоже необходимо. Дублированный код неизбежен? Android: горизонтальный Recyclerview внутри вертикального Recycliewiew Совместимость GridLayout – ClassNotFoundException: не найден класс "android.support.v7.widget.GridLayout" Как проверить, какое изображение связано с ImageView в Android? Gradle build не может получить зависимость от настраиваемого репозитория maven Есть ли способ вибрировать менее чем за 1 миллисекунду на Android? Как определить, когда пользователь подключает гарнитуру на устройстве Android? (Напротив ACTION_AUDIO_BECOMING_NOISY) BroadcastReceiver не получает полное действие загрузки Можно ли показывать индикатор выполнения при загрузке изображения через Retrofit 2 Android edittext background image начало курсора Могу ли я использовать внешнюю SD-карту ext2 или ext3 в Android 2.1 Эффективность, Android-переключатель или прослушиватель кликов для каждой кнопки