读书人

怎么将安卓部分代码写到自己的工具类中

发布时间: 2013-09-25 11:02:58 作者: rapoo

如何将安卓部分代码写到自己的工具类中
现有一个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);//此处不知如何写
}

}
[解决办法]
super 也是一个对象,入参改成:

public boolean exit(Activity superActivity, int keyCode, KeyEvent event) { 


// ...
return superActivity.onKeyDown(keyCode, event);
}

读书人网 >Android

热点推荐