84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
1.使用replace,替换当前的fragment2.使用add 和 hide 方法,要显示哪个就显示哪个,其他的则隐藏即可,这样相比于第一种在每次切换时不用每次都去加载一次数据,但是内存消耗上稍大
会加载当前的fragment 和其相邻的Fragment为viewpager滑动做准备
只加载当前的Fragment
建议在选择切换策略时选择第二种
你的1,2问题你完全可以自己打Log实现查看,这样以后印象深刻,更有效果。至于刷新的不知道你是怎么样的函数,最后一个其实只要在onKeyDown中判断,你把这段代码运用上去应该没什么问题了:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { //防止按一次退出 if (System.currentTimeMillis() - mExitTime > 2000) { ToastUtils.showShort("再按一次回到桌面"); mExitTime = System.currentTimeMillis(); } else { finish(); } return true; } return super.onKeyDown(keyCode, event); }
finish只是结束当前的activity,让你的所有activity都继承下面这个activity就能实现你想要的效果。当然还有其他方法就得靠你自己查了。
public class BaseActivity extends Activity { private long exitTime; BroadcastReceiver exitReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(ExitUtils.EXIT)) { finish(); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); IntentFilter filter = new IntentFilter(); filter.addAction(ExitUtils.EXIT); this.registerReceiver(exitReceiver, filter); exitTime = System.currentTimeMillis(); } @Override protected void onDestroy() { super.onDestroy(); this.unregisterReceiver(exitReceiver); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { Intent exitIntent = new Intent(); exitIntent.setAction(ExitUtils.EXIT); getApplicationContext().sendBroadcast(exitIntent); } return true; } return false; } }
fragment 切换有两种策略
1.使用replace,替换当前的fragment
2.使用add 和 hide 方法,要显示哪个就显示哪个,其他的则隐藏即可,这样相比于第一种在每次切换时不用每次都去加载一次数据,但是内存消耗上稍大
fragment+viewpager
会加载当前的fragment 和其相邻的Fragment为viewpager滑动做准备
RadioButton
只加载当前的Fragment
建议在选择切换策略时选择第二种
你的1,2问题你完全可以自己打Log实现查看,这样以后印象深刻,更有效果。
至于刷新的不知道你是怎么样的函数,最后一个其实只要在onKeyDown中判断,你把这段代码运用上去应该没什么问题了:
finish只是结束当前的activity,让你的所有activity都继承下面这个activity就能实现你想要的效果。当然还有其他方法就得靠你自己查了。