如何保存片段的状态抽屉式导航 [英] How to save state of fragment in navigation drawer
本文介绍了如何保存片段的状态抽屉式导航的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用谷歌导航抽屉库从下面的链接...
https://github.com/Arasthel/GoogleNavigationDrawerMenu
I'm using google navigation drawer library from the following link... https://github.com/Arasthel/GoogleNavigationDrawerMenu
见下文code:
mDrawer.setOnNavigationSectionSelected(new GoogleNavigationDrawer.OnNavigationSectionSelected() {
@Override
public void onSectionSelected(View v, int i, long l) {
Fragment fragment = null;
switch (i) {
case 0:
// fragment = new HomeFragment();
break;
case 1:
fragment = new NewsFragment();
break;
case 2:
fragment = new TransferFragment();
break;
case 3:
fragment = new BlogsFragment();
break;
case 4:
fragment = new FixturesFragment();
break;
case 5:
fragment = new BestXIFragment();
break;
case 6:
fragment = new FeedFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.main, fragment).commit();
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
});
我的片段用异步任务,每当我这些片段异步任务再次加载。之间切换
My fragments are using async task and whenever I switch between these fragments the async task is loading again.
所以,我怎么可以保存片段的状态?
So How can I save the state of the fragment?
推荐答案
而不是创造每一次新的片段,你可以保持片段的数组,只是返回相同的对象:
Instead of creating new fragment every time you can keep an array of fragments and just return the same object:
mDrawer.setOnNavigationSectionSelected(new GoogleNavigationDrawer.OnNavigationSectionSelected() {
Fragment[] fragments ={new HomeFragment(),new NewsFragment(), new TransferFragment(), new BlogsFragment(),new FixturesFragment() , new BestXIFragment(),new FeedFragment()};
@Override
public void onSectionSelected(View v, int i, long l) {
if (fragment[i] != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.main, fragments[i]).commit();
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
});
这篇关于如何保存片段的状态抽屉式导航的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文