我的项目里面只有一个Activity,其它页面都是Fragment,现在出先的问题是 Fragment
之间的返回,假如我从Fragment A 跳到 Fragmen B 再从 Fragment B 跳到 Fragement C ,当我按手机的返回键的时候,页面C 会直接跳到Activity首页,代码如下,这是系统退出APP的
/**
* 返回按鈕的點擊事件
*/
@Override
public void onBackPressed() {
//Toast.makeText(getApplicationContext(),"回到首页",Toast.LENGTH_SHORT).show();
MyApplication.getInstance().getHomeFragment().list.clear();
MyApplication.getInstance().getHomeFragment().initListDate();
MyApplication.getInstance().getHomeFragment().initShrink();
}
/**
* 點擊兩次返回鍵返回程序
*
* @param keyCode
* @param event
* @return
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit();
onBackPressed();
return true;
}
return super.onKeyDown(keyCode, event);
}
public void exit() {
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(getApplicationContext(), "再按一次退出程序",
Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
}
记录当前显示的fragment,在onKeyDown中判断当前fragment是否是最底层的fragment,不是就返回前面的fragment,
http://blog.csdn.net/qq_27665781/article/details/49904055 。。 back之前判断当前fragement。