この質問は非常にわかりにくいかもしれませんが、私は正しい解決策を見つけることができません。
だからここに私の問題があります:
ユーザーが異なるリスト間をスワイプできるように、データ(ajava.util.List
とmy TaskObjects
)をそれぞれ独自のフラグメントに複数(たとえば5)で表示したいと思います。ExpandableLists
現時点では、、、およびタブとをMainFragmentActivity
含む「拡張」(TabsAdapterなど)を含むがあります。これらの2つのフラグメントには、それぞれ独自のと(私が書いたもの)があります。java.util.List
PageViewer
FragmentPagerAdapter
AllTaskFragment
OverDueTaskFragment
ExpandableList
ExpandableListAdapter
ユーザーが子をクリックしたときに、他のフラグメントに更新ExpandableLists
を通知するにはどうすればよいですか?ExpandableListAdapter
を呼び出してMainFragmentActivity
、そこからすべてのフラグメントを呼び出しようとしましたが、フラグメントExpandableListAdapters
は「null」でしたが、なぜですか?
アップデート:
私は問題を解決したと思います、atmは以下で働いています:
ExpandableListAdapterで何かが変更された場合は、でupdateTabs()を呼び出します。
MainFragmentActivity
public void updateTabs() {
for(int i = 0 ; i < tabsAdapter.getCount() ; i++) {
UpdateableFragment updateableFragment = (UpdateableFragment) getSupportFragmentManager().findFragmentByTag(makeFragmentName(mViewPager.getId(),i));
updateableFragment.updateFragment();
}
}
private String makeFragmentName(int viewId, int index){
return "android:switcher:" + viewId + ":" + index;
}
各フラグメントでメソッドを呼び出すだけです
public void updateFragment() {
adapter.notifyDataSetChanged();
}
これは良いアプローチですか?それとも、これはいくつかの問題を引き起こす可能性がありますか?