我现在已经实现这样一个功能:RadioGroup+viewPager实现的切换式界面,现在我的每个Fragment都有定时界面刷新函数,我想知道
1、当fragmentA滑动到fragmentB具体执行了哪些重写的方法?
2、如果是通过底端radiobutton切换的又是怎样的执行顺序?
现在遇到的问题是fragmentA切换到fragmentB之后fragmentA的刷新函数还是在后台运行,我要怎么停掉!
还有一个问题:主界面是Mainactivity管理的几个Fragment的切换,当我跳转到另一个activity之后再返回到这个Mainactivity,我在Mainactivity里面写了以下代码来退出APP,可是只要是从MainActivity跳转到另外的Activity再返回来就很难一次性退出,要按很多次才能将APP推向后台,想要知道到底是为什么,要怎么改善,还请各位指教!
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
this.exitApp();
}
return true;
}
return super.dispatchKeyEvent(event);
}
/** 退出程序 */
private void exitApp() {
// 判断2次点击事件时间
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT)
.show();
exitTime = System.currentTimeMillis();
} else {
finish();
}
}
fragment 切换有两种策略
1.使用replace,替换当前的fragment
2.使用add 和 hide 方法,要显示哪个就显示哪个,其他的则隐藏即可,这样相比于第一种在每次切换时不用每次都去加载一次数据,但是内存消耗上稍大
fragment+viewpager
会加载当前的fragment 和其相邻的Fragment为viewpager滑动做准备
RadioButton
只加载当前的Fragment
建议在选择切换策略时选择第二种