如何实现多个Fragment 切换不刷新数据,保留当前状态?

三千歌 2015-01-17 10:59:13

定义4个按钮,点击事件Fragment 切换。

但是由于需要请求网络数据,每次切换都要重新刷新数据。

求教!!!
...全文
1940 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sx2358蓝胖子 2017-02-22
  • 打赏
  • 举报
回复
mContent 能告诉我这个是干嘛的吗 都他妈写的一样 copy 毛线啊 有自己的见解不
wing996 2016-04-20
  • 打赏
  • 举报
回复
/** 修改显示的内容 不会重新加载 **/ public void switchContent(Fragment to) { if (mContent != to) { FragmentTransaction transaction = getFragmentManager().beginTransaction(); if (!to.isAdded()) { // 先判断是否被add过 transaction.hide(mContent).add(R.id.details_layout, to).commit(); // 隐藏当前的fragment,add下一个到Activity中 } else { transaction.hide(mContent).show(to).commit(); // 隐藏当前的fragment,显示下一个 } mContent = to; } }
wing996 2016-04-20
  • 打赏
  • 举报
回复
/** 初始化显示内容 **/ private void initContent() { fragment0 = new NormalSettingFragment(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.add(R.id.details_layout, fragment0); mContent = fragment0; transaction.commit(); mAdapter.setCurPos(0); mAdapter.notifyDataSetChanged(); }
亮_哥 2015-11-20
  • 打赏
  • 举报
回复
楼主解决了吗?? 遇到了同样的问题 求解
「已注销」 2015-11-13
  • 打赏
  • 举报
回复
就是说打开应用,加载的第一个fragment怎么处理??那时候 from fragment是什么?
「已注销」 2015-11-13
  • 打赏
  • 举报
回复
那如果是第一个加载的时候这样也能处理吗?
笨鸟0505 2015-10-26
  • 打赏
  • 举报
回复
mContent是什么
budworm 2015-01-19
  • 打赏
  • 举报
回复

public void switchContent(Fragment from, Fragment to) {
        if (mContent != to) {
            mContent = to;
            FragmentTransaction transaction = mFragmentMan.beginTransaction().setCustomAnimations(
                    android.R.anim.fade_in, R.anim.slide_out);
            if (!to.isAdded()) {    // 先判断是否被add过
                transaction.hide(from).add(R.id.content_frame, to).commit(); // 隐藏当前的fragment,add下一个到Activity中
            } else {
                transaction.hide(from).show(to).commit(); // 隐藏当前的fragment,显示下一个
            }
        }
    }
这个确实是可以的。
danielinbiti 2015-01-18
  • 打赏
  • 举报
回复 2
public void switchContent(Fragment from, Fragment to) {
        if (mContent != to) {
            mContent = to;
            FragmentTransaction transaction = mFragmentMan.beginTransaction().setCustomAnimations(
                    android.R.anim.fade_in, R.anim.slide_out);
            if (!to.isAdded()) {    // 先判断是否被add过
                transaction.hide(from).add(R.id.content_frame, to).commit(); // 隐藏当前的fragment,add下一个到Activity中
            } else {
                transaction.hide(from).show(to).commit(); // 隐藏当前的fragment,显示下一个
            }
        }
    }
三千歌 2015-01-17
  • 打赏
  • 举报
回复
在线 求解!

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧