Функция запуска триггера при нажатии кнопки на Android

Я знаю, что у нас есть кнопка возврата в андроиде, чтобы вернуть нас в предыдущую форму, но мой руководитель группы попросил установить функциональность кнопки "Назад" на кнопке

Как я могу это сделать?

Ответ 1

Вы должны использовать finish(), когда пользователь нажимает кнопку, чтобы перейти к предыдущему действию.

Button backButton = (Button)this.findViewById(R.id.back);
backButton.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
    finish();
  }
});

В качестве альтернативы, если вам действительно нужно, вы можете попытаться запустить свой собственный задний ключ:

this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));

Выполните обе эти операции.

Ответ 2

Если вам нужна точная функциональность кнопки "Назад" в пользовательской кнопке, почему бы просто не вызвать yourActivity.onBackPressed() таким образом, если вы переопределить функциональность подкладки, ваша пользовательская кнопка будет вести себя одинаково.

Ответ 3

public boolean onKeyDown(int keyCode, KeyEvent event) {
             if (keyCode == KeyEvent.KEYCODE_BACK) {
                     // your code here
                     return false;
             }
         return super.onKeyDown(keyCode, event);
     }

Ответ 5

Если вы находитесь внутри фрагмента, тогда вы пишете следующую строку кода внутри вашего прослушивателя getActivity().onBackPressed();, getActivity().onBackPressed(); это отлично работает для меня.

Ответ 6

Ну, ответ от @sahhhm не работал для меня, мне нужно было вызвать backKey с пользовательской кнопки, так что я просто позвонил,

backAction.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyRides.super.onBackPressed();

            }
});

и это работает как шарм. Надеюсь, это поможет и другим.

Ответ 7

С помощью этого кода я решил мою проблему. Для кнопки "Назад" вставьте эти две строки кода. Надеюсь, это поможет вам.

Вставьте этот код только по нажатию кнопки

onBackPressed();

Пример:-

Button backButton = (Button)this.findViewById(R.id.back);
backButton.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
    onBackPressed();
  }
});