我想在Android中单击后退按钮两次重启事件。这怎么可能?
答案 0 :(得分:1)
在重写的点击方法
中运行事件两次Button mClickButton1 = (Button)findViewById(R.id.clickButton1);
mClickButton1.setOnClickListener(this);
@Override
public void onClick(View v) {
event();
event();
}
答案 1 :(得分:1)
如果您单击后退按钮,它将调用以下方法:
@Override
public void onBackPressed() {
super.onBackPressed();
}
这个方法将调用super.onBackPressed();这将调用应用程序完成并退出它。
如果你需要在按两次按钮时调用某些方法,你应该按下面的方法实现一个计数器:
@Override
public void onBackPressed() {
long t = System.currentTimeMillis();
if (backPressedTime == '') {
backPressedTime = t;
counter = 1;
}
else if (t - backPressedTime > 2000) { // 2 secs
counter = 0;
backPressedTime = t;
Toast.makeText(MainActivity.this, R.string.retry_to_exit,
Toast.LENGTH_SHORT).show();
}
else
{
counter++;
if(counter > 2)
{
}
else
{
// this guy is serious
// clean up
super.onBackPressed(); // bye
finish();
}
}
}
最后,如果您需要在背景事件中调用某些方法,可以将方法添加到
@Override
public void onBackPressed() {
yourEvent();
yourEvent();
super.onBackPressed();
}
如果你需要在不同的线程中运行,你可以调用
new Runnable() {
@Override
public void run() {
yourMethod()
}
};
如果您需要延迟调用方法,可以使用
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
tourMethod();
}
}, 2000);