记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除),使用LinkedList
捕获用户的返回键操作,响应返回键,返回上一个界面
MainActivity.java
/**
* 返回键处理
*/
@Override
public boolean onKeyDown(int keyCode,KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
boolean result=MiddleManager.getInstance().goBack();
if(!result){
Toast.makeText(MainActivity.this,"是否退出应用",1).show();
}
return false;
}
return super.onKeyDown(keyCode,event);
}
MiddleManager.java
//操作历史栈
private LinkedList HISTORY=new LinkedList();
/**
* 处理返回键
* @return
*/
public boolean goBack() {
//如果为空会抛异常
if(HISTORY.size()>0){
if(HISTORY.size()==1){
return