Android手机上提供了返回键, 方便使用者的同时,也给我们开发人员带来了无尽的烦恼。下面几种处理返回的方法:
1. 前Activity不finish, 可以 直接返回
这种方式用在页面上有很多填写项, 返回时需要保持这些已经填写好的项,而又没有提供code实现
1)手机 按键
2) 在页面里的button
Intent it = new Intent();
setResult(Activity.RESULT_CANCELED, it);
2. 前Activity finish
在base acticvity中实现,其他子类继承
1)手机 按键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return backForm(keyCode, event);
}
else {
return super.onKeyDown(keyCode, event);
}
}
2)按钮 button
protected void setBackButton(int backBtnId){
Button btnBack = (Button) findViewById(backBtnId);
if(null != btnBack){
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
backForm(0, null);
}
});
}
}
然后在子类中实现
protected boolean backForm(int keyCode, KeyEvent event)
{
return super.onKeyDown(keyCode, event);
}