现有一个activity类public class MainActivity extends Activity {
//...其它代码省略
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) // System.currentTimeMillis()无论何时调用,肯定大于2000
{
Toast toast = Toast.makeText(getApplicationContext(),"再按一次退出",Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
}
想把上面onKeyDown里面代码写到自己的工具类中, 其它都好办,就是最后一句super.onKeyDown(keyCode, event)不知如何写,恳请大侠帮忙解决?谢谢
public class MyTool { Context context;
Long exitTime;
public MyTool(Context context){ this.context=context }
public boolean exit(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000)
{
Toast toast = Toast.makeText(context.getApplicationContext(),"再按一次退出",Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
exitTime = System.currentTimeMillis();
} else {
context.finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);//此处不知如何写
}
}
//...其它代码省略
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) // System.currentTimeMillis()无论何时调用,肯定大于2000
{
Toast toast = Toast.makeText(getApplicationContext(),"再按一次退出",Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
}
想把上面onKeyDown里面代码写到自己的工具类中, 其它都好办,就是最后一句super.onKeyDown(keyCode, event)不知如何写,恳请大侠帮忙解决?谢谢
public class MyTool { Context context;
Long exitTime;
public MyTool(Context context){ this.context=context }
public boolean exit(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000)
{
Toast toast = Toast.makeText(context.getApplicationContext(),"再按一次退出",Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
exitTime = System.currentTimeMillis();
} else {
context.finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);//此处不知如何写
}
}
解决方案 »
- 找不到源,说让下载Sources for Android SDK,怎么下载?
- 关于android获取录音音量的问题。
- 急急急!怎么实现一台android手机模拟多个客户端???
- 布局位置问题
- 在linux下配置SDK问题,急求高手指点
- Android Cookie 的处理问题
- PreferenceActivity中的onKeyDown事件无响应
- 手机发送短信会发出什么样的广播?
- 用Eclipse开发Android 调试问题,请教各位前辈!
- 求助:安卓判断两个图片是否有相同的部分,如果有就将相同部分融合,并将两个图片拼接成一个图片
- JOSN小问题
- Android 全局设置项目中TextView控件值
public boolean exit(Activity superActivity, int keyCode, KeyEvent event) {
// ...
return superActivity.onKeyDown(keyCode, event);
}
MyTool tool=new MyTool(this);
Activity superActivity;
public boolean onKeyDown(int keyCode, KeyEvent event) {
tool.exit(superActivity,keyCode,event)
}
private int pressed = 0;
@Override
public void onBackPressed() {
if (pressed ++ == 0) {
KDialogHelper.showToast(this, "再按一次退出系统");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
pressed = 0;
}
}, 3000);
}
if (pressed > 1) {
finish();
}
}