Android 一次单击两次回击事件。安卓
我想在安卓系统中,只需点击后退按钮,就可以触发两次后退事件。这怎么可能呢?在重写的单击方法中运行事件两次Android 一次单击两次回击事件。安卓,android,back,Android,Back,我想在安卓系统中,只需点击后退按钮,就可以触发两次后退事件。这怎么可能呢?在重写的单击方法中运行事件两次 Button mClickButton1 = (Button)findViewById(R.id.clickButton1); mClickButton1.setOnClickListener(this); @Override public void onClick(View v) { event(); event(); } 如果单击“上一步”按钮,它将调用以下方法:
Button mClickButton1 = (Button)findViewById(R.id.clickButton1);
mClickButton1.setOnClickListener(this);
@Override
public void onClick(View v) {
event();
event();
}
如果单击“上一步”按钮,它将调用以下方法:
@Override
public void 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();
}
}
}
此方法将被调用super.onBackPressed();这将调用应用程序以完成并退出它
如果您需要在两次按下“后退”按钮时调用某些方法,则应为下面的类似按下的方法实现计数器:
@Override
public void 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();
}
}
}
最后,如果需要在backpress事件中调用某些方法,可以将方法添加到
@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);