Android BACK 键点击两次

标签 android android-button

我想在单击 BACK 键一次时显示一些内容,并在单击两次时关闭应用程序。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        if (/* BACK_KEY_was_clicked_once_again */) {
            finish();
        }
        else
        {
            text.setText(log);
        }

        return true;
    }
    return super.onKeyDown(keyCode, event);
}

抱歉我没有解释好

我的应用程序的主要(假设) View 是:text.setText(log),但是当我单击菜单中的“信息”按钮时:text.setText(info)。设置“信息”时,我希望后退按钮为:text.setText(log),设置“日志”时,我希望后退按钮关闭我的应用程序。

现在我意识到我真正想做什么,并将代码更改为:

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
  if (text.getText() == log) {
    finish();
  }
  else
  {
    text.setText(log);
  }
  return true;
}
return super.onKeyDown(keyCode, event);
}

最佳答案

使用类级别字段作为标志来检查后退按钮是否按下两次:

 public static boolean backtwice=false;  //this is flag

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        if (backtwice) {
           backtwice=false;  //reset here
            finish();
        }
        else
        {
            text.setText(log);
           backtwice=true;  //set true if first time back pressed
        }

        return true;
    }
    return super.onKeyDown(keyCode, event);
}

关于Android BACK 键点击两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13749512/

相关文章:

Android 4.2以下如何设置layoutDirection为RTL

android - "You already own this item"但 getPurchases 为空

android - 以编程方式在相对布局中定位按钮

javascript - 使用 Javascript 阻止 Android 后退按钮

android - Chrome devTools 不再看到用于调试的 USB 设备

iphone - 用于开发移动应用程序并将其部署到 iphone、Android、Blackberry 等的通用 IDE

java - 使用图像 onclick 标记 OpenStreetMap 显示标记详细信息

android - 创建一个与 Facebook SDK 的 `LoginButton` 相同的按钮或覆盖 LoginButton 的 OnClick

android - 单击另一个 View 时 View 被隐藏

android - 在 Android 中,如何使登录按钮相对于 EditText 禁用?