Одним нажатием кнопки я хочу работать как два backpress - PullRequest
0 голосов
/ 17 января 2019

у меня есть 3 действия FirstActivity, SecondActivity, ThridActivity соответственно, я поставил «намерение» FirstActivity в SecondActivity, SecondActivity в ThridActivity.

Теперь, если я нажму backButton {onBackPressed ()} на ThridActivity, я хочу перейти к FirstActivity.

но мне не нужно 'Intent' для FirstActivity в 'onBackPressed ()', мне нужны два кода обратной печати. ​​

public void onBackPressed() {
    finish();
}

public void onBackPressed() {
    this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
            this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
}

эти коды работают только на одно нажатие.

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Вы должны очистить экземпляр Second activity при переходе от второго к третьему занятию.

Но не очищайте экземпляр FirstActivity. Если вы очистите инстагмент firstactivity, нажав назад с третьего, он закроется полностью.

Код:

On FirstActivity.

startActivity(new Intent(FirstActivity.this,SecondActivity.class));

На втором занятии.

startActivity(new Intent(SecondActivity.this,ThirdActivity.class));
finish();

О третьей активности.

public void onBackPressed() {
    finish();
}

public void onBackPressed() {
    this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
            this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
}

Надеюсь, что это поможет вам. Если оно работает, не забудьте сделать его правильным ответом.

0 голосов
/ 18 января 2019

Вы можете следовать ниже потока для того же:

  1. Запустите SecondActvity из FirstActivity. В то же время закончите SecondActivity. как это:

    startActivity (новое намерение (FirstActivity.this, SecondActivity.class));

    отделка ();

  2. Теперь, когда вы нажмете один раз из ThirdActivity, перейдите непосредственно к FirstActivity
...