Кнопка возврата без вызова finish() или onBackPressed()

Я хочу создать кнопку, чтобы вернуться к предыдущему действию, но если я использую методы "finish()" или "onBackPressed()" в событии "onclick", каждый раз, когда я нажимаю кнопку, я получаю сообщение от система "к сожалению, деятельность прекратилась". Есть ли альтернативный способ введения кнопки "назад", без отображения таких сообщений, которые могут быть приняты пользователем за ошибки в сообщениях?

Вот мой XML для кнопки:

<Button
    android:layout_width="wrap_content"
    android:layout_weight=".2"
    android:layout_height="wrap_content"
    android:text="back"
    android:id="@+id/back"
    android:onClick="onBackPressed"
    />

Больше не требуется код, потому что onBackPressed уже существует в библиотеке.

1 ответ

Решение

Если одна и та же активность всегда запускает вашу текущую, просто жестко запишите ее...

Intent myIntent = new Intent(CurrentActivity.this, PreviousActivity.class);
CurrentActivity.this.startActivity(myIntent);

В противном случае вы можете передать дополнительные в ваших намерениях, чтобы сообщить вам, а затем сделать условный метод, чтобы запустить правильный. Также я бы написал весь ваш код кнопки в ваших java-файлах, но это скорее личное предпочтение.

//global declaration
Button GameButton;

//onCreate
GameButton = (Button)findViewById(R.id.GameButton);
GameButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //your code
        }
    });
Другие вопросы по тегам