程序:点击二次后延时1.5s退出界面(注意包名的更改)
package com.example.handler_practice;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
/**
* 判断点击的次数的计数器
*
*/
public static int count;
private Handler handler=new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
if(msg.what==0x00){
count=0;
}
return false;
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 1.找到Activity实现的返回按钮的方法
*/
public void onBackPressed(){
count++;//每次调用该方法说明用户点击了返回按钮,count++
//当count==1说明第一次点击,弹出Toast
if(count==1){
Toast.makeText
(getApplicationContext(), "再点击一次返回按钮", Toast.LENGTH_SHORT).show();
//发送延时消息,延时时间1.5s,1.5s之后接受到该消息count复位
handler.sendEmptyMessageDelayed(0x00,1500);
}else{
//移除消息
handler.removeMessages(0x00);
super.onBackPressed();//调用了finish方法
}
}
}