其实你去网上搜这个标题一大堆的帖子,千篇一律的转自同一个人的帖子!
以后大家转帖子先实践一下好不好!
网上那个达不到预期效果,第一下正常提示, 如果两秒内再点 就退出 过了两秒点还是会正常提示
但是第三次一定会退出。
下面是网上疯传的代码:
private static Boolean isExit = false ;
|
private static Boolean hasTask = false ;
|
Timer tExit = new Timer();
|
TimerTask task = new TimerTask() {
|
public boolean onKeyDown( int keyCode, KeyEvent event) {
|
System.out.println( "TabHost_Index.java onKeyDown" );
|
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
Toast.makeText( this , "再按一次后退键退出应用程序" , Toast.LENGTH_SHORT).show();
|
tExit.schedule(task, 2000 );
|
里面的hasTask自从第一次timer后变true后 第二次就是只是显示toast了 不会去修改isExist变量了
这样第三次会直接进入到else里面finish程序。
如果不要hasTask会在第二次 点的时候说timer有任务了 而崩溃
但是如果每次都新建一个timer就可以解决这个问题
一下是我的代码,有错请指出:
private Boolean isPressedBack = false;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (isPressedBack == false) {
isPressedBack = true;
Toast.makeText(this, "再按一次后退键退出应用程序", Toast.LENGTH_SHORT).show();
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
isPressedBack = false;
}
};
timer.schedule(task, 2000);
} else {
ActivityFileManager.this.finish();
}
}
return false;
}
分享到:
相关推荐
它包含了数字0-9、正负号、退出、后退、确认、删除和小数点等常用功能键,为用户提供了一种便捷的输入方式。在QT编程中,我们可以利用Qt的信号与槽机制以及QLayout布局管理来构建这样的键盘。 首先,要创建一个数字...
用户按下后退键时,系统会从栈顶取出最近的Fragment并将其恢复。这有助于实现类似Activity的导航历史。 ```java fragmentTransaction.addToBackStack(null); ``` 7. **处理Fragment的空状态和错误状态**:在...
Fragment 也支持在 Activity 的后退栈中管理,这意味着用户可以使用“返回”键回退到前一个 Fragment 状态,而不仅仅是退出 Activity。这种机制使得在多 Fragment 的 Activity 中实现类似单 Activity 应用的导航变得...
当你在应用中按下按钮,滑动或通过其他方式改变屏幕时,就是在进行`Route`的切换。 2. **Route类型** Flutter提供了多种`Route`类型,包括: - **MaterialPageRoute**:这是最常见的`Route`类型,用于创建具有...
8. **浏览器操作**:后退功能在完成一项任务后经常被用来返回之前的网页,方便继续下一个操作。此外,了解如何打开和退出网页也是基础的浏览器操作。 通过这些操作的实践和学习,考生可以提升其在计算机使用和技术...