Я пытаюсь, чтобы мое приложение отображало всплывающее сообщение при нажатии кнопки «Назад» при отображении R.layout.main.xml, но не отображает сообщение из любого другого layout.xml. Кроме того, когда отображается любой другой макет, я хочу, чтобы он вернулся к предыдущему экрану (как должна делать кнопка «Назад»). Если бы я оставил кнопку «Назад» по умолчанию, всякий раз, когда вы ее нажимали, она выходила из приложения с любого экрана макета.
Вот мой текущий код ..... он продолжает закрываться, и я не могу понять, почему:
private Toast toast;
private long lastBackPressTime = 0;
@Override
public void onBackPressed()
{
View thisView = getCurrentFocus();
int screen = thisView.getId();
if (screen == R.layout.main)
{
if (this.lastBackPressTime < System.currentTimeMillis() - 4000)
{
toast = Toast.makeText(this, "Press BACK once more to close this application", 4000);
toast.show();
this.lastBackPressTime = System.currentTimeMillis();
}
else
{
if (toast != null)
{
toast.cancel();
}
super.onBackPressed();
}
}
if (screen != R.layout.main)
super.onBackPressed();
}