美文网首页
android fragment 刷新功能

android fragment 刷新功能

作者: nade_s | 来源:发表于2018-07-12 14:46 被阅读0次

    本文 介绍两点 已是fragment的切换 一是fragment刷新 

    先说第一点 fragment的切换 

    目前fragment在开发中应用越来越广泛 当然也非常方便 

    而我们切换fragment 也有两中方式 

    第一种是replace的方法进行的 这种方式要看运用场景 用起来很方便 但是个人感觉效果并不好 因为这种方式进行切换得话 首先他会remove掉当前的fragment,然后在new 一个新的fragment进行add,也就是说当前fragment中的所有东西都是重新加载的 所以个人不建议使用这种方式进行fragment的高频率切换 这种只适合fragment切换和使用次数比较少的情况 

    第二种是show+hide 进行fragment切换 这种方式相比第一种可能会复杂一点 首先要建立几个fragment 开始事务 然后判断添加 举个例子 

    1 创建fragment…… 

    2 添加事务 android.app.FragmentTransaction ft = getFragmentManager().beginTransaction(); 

    –#在添加之前先进行判断隐藏#– 

    // 这是hide fragment 的方法 

    onHideFragment(ft); 

    3 判断添加 

    if (homeFragment==null){ 

    homeFragment = new HomeFragment(); 

    ft.add(R.id.content,homeFragment); 

    }else { 

    ft.show(homeFragment); 

    4 判断隐藏 

    if (homeFragment!=null){ 

    ft.hide(homeFragment); 

    5 添加一个默认显示fragment 也就是你进入activity需要显示的那个 

    好 此时你就完成了使用hide + show 进行fragment切换了

    现在我们说第二点 就是fragment的刷新需求 

    我们可能会需要fragment的刷新功能 例如说是我首页使用fragment 进行功能切换时 希望返回到之前的fragment可以刷新 或者返回到activity时 fragment也可以刷新 本人使用了 两种方法进行fragment的刷新 我想大部分应该都会使用第一种 返回activity时 fragment刷新 就是重写acvitity的onstart() 方法进行刷新fragment的数据 但是这是有弊端的 第一就是假如你使用了listview或者gridview 时会出现重复加载的情况 所以使用这种方法时 你就要进行清空数据并刷新适配器就可以避免了 

    第二种 就是使用hide+show时 在fragment进行切换时 刷新fragment 此时会有这样一个这样的方法 onHiddenChanged(boolean hidden);看方法名 你也可以看出来 就是在hide有变化时使用 hidden参数是boolean 当hidden为true时表示fragment在hide 此时不必更新数据 当hidden为false时 他就不隐藏了 此时更新 

    if (hidden){ 

    return; 

    }else { 

    list.clear(); 

    getSellList(); 

    list是要清空的 避免重复加载 

    –#onHiddenChanged(boolean hidden); 这是fragment的方法哦 !!!#– 

    本文 到此结束 希望对各位有所帮助 有问题可以评论区提出 大家一起进步

    加群交流

    相关文章

      网友评论

          本文标题:android fragment 刷新功能

          本文链接:https://www.haomeiwen.com/subject/edqrpftx.html