单击即可两次触发事件。 Android的

时间:2015-01-17 19:16:05

标签: android back

我想在Android中单击后退按钮两次重启事件。这怎么可能?

2 个答案:

答案 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);