84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
拥有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就能实现你想要的效果。当然还有其他方法就得靠你自己查了。