一些应用程序(例如Dolphin HD浏览器)实现了以下功能:
按“后退”键可以回到上一个页面。当显示初始视图/活动/片段并按下“返回”时,会出现一个 Toast
提示,显示“再次按返回键退出”或类似的消息。
我该如何实现这个功能?
一些应用程序(例如Dolphin HD浏览器)实现了以下功能:
按“后退”键可以回到上一个页面。当显示初始视图/活动/片段并按下“返回”时,会出现一个 Toast
提示,显示“再次按返回键退出”或类似的消息。
我该如何实现这个功能?
在顶级班级中:
int count = 0;
public void onBackPressed()
{
if(count == 1)
{
count=0;
finish();
}
else
{
Toast.makeText(getApplicationContext(), "Press Back again to quit.", Toast.LENGTH_SHORT).show();
count++;
}
return;
}
count++;
放在 if(count == 1)
语句的 else
子句中。 - Pieter888count
的默认值为0
。当用户按下返回按钮时,它会首先执行count ++;
,因此该值现在为1
,然后它将检查count
的值是否等于1
,这始终为真,活动将调用finish()
。还是我完全错过了什么? - Pieter888public void onBackPressed()
{
//Add your logic here
return;
}
finish();
来结束您的活动。Toast.makeText(this, "Press Back again to quit", Toast.LENGHT_SHORT).show();
假设你是在活动类中启动此代码。如果不是,请尝试获取您的活动上下文而不是使用 this
。
对于 API 级别 1,覆盖活动的
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
....
对于API 5及以上版本,请参阅Pieter888所说的内容。