From b2f74c3fb452e7a1ae1b6411efff82698dd8cd3d Mon Sep 17 00:00:00 2001 From: xsf Date: Wed, 9 Nov 2016 16:55:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B0=83=E6=95=B4=E6=96=B0?= =?UTF-8?q?=E9=97=BB=E5=AD=90=E9=A2=91=E9=81=93=E7=9A=84=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E5=90=8E=EF=BC=8C=E6=96=B0=E9=97=BB=E5=86=85=E5=AE=B9=E4=B8=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/main/fragment/NewsMainFragment.java | 7 ++++++- .../common/base/BaseFragmentAdapter.java | 18 +++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/jaydenxiao/androidfire/ui/main/fragment/NewsMainFragment.java b/app/src/main/java/com/jaydenxiao/androidfire/ui/main/fragment/NewsMainFragment.java index 6b77d1d..7a1ea3a 100644 --- a/app/src/main/java/com/jaydenxiao/androidfire/ui/main/fragment/NewsMainFragment.java +++ b/app/src/main/java/com/jaydenxiao/androidfire/ui/main/fragment/NewsMainFragment.java @@ -81,7 +81,12 @@ public void returnMineNewsChannels(List newsChannelsMine) { channelNames.add(newsChannelsMine.get(i).getNewsChannelName()); mNewsFragmentList.add(createListFragments(newsChannelsMine.get(i))); } - fragmentAdapter = new BaseFragmentAdapter(getChildFragmentManager(), mNewsFragmentList, channelNames); + if(fragmentAdapter==null) { + fragmentAdapter = new BaseFragmentAdapter(getChildFragmentManager(), mNewsFragmentList, channelNames); + }else{ + //刷新fragment + fragmentAdapter.setFragments(getChildFragmentManager(),mNewsFragmentList,channelNames); + } viewPager.setAdapter(fragmentAdapter); tabs.setupWithViewPager(viewPager); MyUtils.dynamicSetTabLayoutMode(tabs); diff --git a/library/common/src/main/java/com/jaydenxiao/common/base/BaseFragmentAdapter.java b/library/common/src/main/java/com/jaydenxiao/common/base/BaseFragmentAdapter.java index b3f6784..ab7c0ae 100644 --- a/library/common/src/main/java/com/jaydenxiao/common/base/BaseFragmentAdapter.java +++ b/library/common/src/main/java/com/jaydenxiao/common/base/BaseFragmentAdapter.java @@ -3,6 +3,7 @@ import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.app.FragmentTransaction; import com.jaydenxiao.common.commonutils.CollectionUtils; @@ -21,8 +22,23 @@ public BaseFragmentAdapter(FragmentManager fm, List fragmentList) { public BaseFragmentAdapter(FragmentManager fm, List fragmentList, List mTitles) { super(fm); - this.fragmentList = fragmentList; this.mTitles = mTitles; + setFragments(fm,fragmentList,mTitles); + } + //刷新fragment + public void setFragments(FragmentManager fm,List fragments,List mTitles) { + this.mTitles = mTitles; + if (this.fragmentList != null) { + FragmentTransaction ft = fm.beginTransaction(); + for (Fragment f : this.fragmentList) { + ft.remove(f); + } + ft.commitAllowingStateLoss(); + ft = null; + fm.executePendingTransactions(); + } + this.fragmentList = fragments; + notifyDataSetChanged(); } @Override