3

一些应用程序(例如 Dolphin HD 浏览器)实现了以下功能:

按“返回”会跳回到后面的堆栈中。当显示初始视图/活动/片段并按“返回”时,会Toast出现“再次按返回退出”或类似内容。

我怎样才能实现这个功能?

4

3 回答 3

8

在班上名列前茅:

  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;
}
于 2012-04-25T07:41:52.623 回答
2

像这样捕获后退按钮事件:

public void onBackPressed() 
{
    //Add your logic here
    return;
}

现在创建一个标志,这样您的应用程序在第一次触发时就不会关闭。最后通过调用你的活动来结束你finish();的活动。

要快速显示 Toast,请使用以下命令:

Toast.makeText(this, "Press Back again to quit", Toast.LENGHT_SHORT).show();

前提是您从活动类启动此代码。如果没有,请尝试获取活动的上下文,而不是使用this.

于 2012-04-25T07:00:36.060 回答
2

对于 API 级别 1,覆盖活动的

public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK) {
    ....

对于 API 级别 5 及更高级别,请参阅 Pieter888 所说的。

于 2012-04-25T07:03:24.977 回答