解决Fragment重影问题
来源:互联网 发布:ocr软件输出格式 编辑:程序博客网 时间:2024/04/29 14:49
优化Add添加Fragment,在使用hide、show中解决重影问题
初始化中
private FragmentManager fragmentManager;private List<BaseFragment> fragmentList = new ArrayList<BaseFragment>();//用于记录当前显示的Fragmentprivate int currentIndex = 0;protected void initData() {fragmentManager = getSupportFragmentManager();//初始化三个Fragment//不走任何生命周期方法conversationFragment = new ConversationFragment();contactFragment = new ContactFragment();pluginFragment = new PluginFragment();fragmentList.add(conversationFragment);fragmentList.add(contactFragment);fragmentList.add(pluginFragment);Fragment fragment0 = fragmentManager.findFragmentByTag("0");if (fragment0 != null) {fragmentManager.beginTransaction().remove(fragment0).commit();}Fragment fragment1 = fragmentManager.findFragmentByTag("1");if (fragment1 != null) {fragmentManager.beginTransaction().remove(fragment1).commit();}Fragment fragment2 = fragmentManager.findFragmentByTag("2");if (fragment2 != null) {fragmentManager.beginTransaction().remove(fragment2).commit();}//默认让消息Fragment选中fragmentManager.beginTransaction().add(R.id.fl_content, conversationFragment, "0").commit();currentIndex = 0;}点击切换Button时
@Overridepublic void onClick(View v) {int index = 0;switch (v.getId()) {case R.id.iv_conversation:index = 0;break;case R.id.iv_contact:index = 1;break;case R.id.iv_plugin:index = 2;break;}if (index == currentIndex) {return;}BaseFragment baseFragment = fragmentList.get(index);FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();//先判断该Fragment是否已经添加到Activity了,如果没有则添加,如果有,则显示if (baseFragment.isAdded()) {//则显示fragmentTransaction.show(baseFragment);} else {//添加fragmentTransaction.add(R.id.fl_content, baseFragment, index + "");}//隐藏之前显示的FragmentfragmentTransaction.hide(fragmentList.get(currentIndex));//提交事务fragmentTransaction.commit();currentIndex = index;}
0 0
- 解决Fragment重影问题
- fragment重影解决
- Fragment 重叠(重影)问题
- android fragment重影问题
- fragment重影问题
- fragment重影问题
- Fragment 重叠(重影)问题
- fragment重影问题
- Fragment出现的重影问题
- Android中管理多个Fragment的最佳实践,完美解决保存状态与重影问题
- Android中管理多个Fragment的最佳实践,完美解决保存状态与重影问题
- Android中管理多个Fragment的最佳实践,完美解决保存状态与重影问题
- Tab+Fragment异常生命周期下产生的fragment重影问题
- Android中管理多个Fragment的最佳实践,完美解决保存状态与重影问题(转)
- Fragment重影以及调用getActivity为null解决
- fragment 重影问题,原来是布局id相同导致的
- fragment重影解决办法
- Android Fragment重影解决方法
- linux开发工具 gdb调试器
- Redis实践(二)高可用的集群+哨兵部署
- Python基础知识——encode和decode函数
- java实现链栈
- 开启PHP之旅
- 解决Fragment重影问题
- CSDN博客排名记录
- 区域网计算机高级共享文件
- HDU-1045
- 服务器返回的14种常见HTTP状态码
- 如何快速转载CSDN中的博客
- 这两天没更.
- Shiro加密处理
- <? super T>和<? extends T>的区别