Кнопка возврата без вызова 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
}
});