我有一個FragmentPagerAdapter的問題。Android:FragmentPagerAdapter不保存Fragment的狀態?
我無法保存該片段的狀態,然後有觀點,該片段內。每當我左右使用滑動條時,通過覆蓋擴展FragmentPagerAdapter的靜態類中的方法getItem(int position)來重新創建片段。
public static class GraphicsCollectionPagerAdapter extends FragmentPagerAdapter {
final int NUM_ITEMS = 3; // number of tabs
public GraphicsCollectionPagerAdapter(FragmentManager fm) {
super(fm);
fragmentList = new AnalyzeFragmentPageListWithDate();
fragment1 = new AnalyzeFragmentPage1();
fragment2 = new AnalyzeFragmentPage2();
}
@Override
public Fragment getItem(int position) {
//Log.i(TAG, "getItem() -> New fragment at position " + position);
switch (position) {
case 0:
return fragmentList;
case 1:
return fragment1;
case 2:
return fragment2;
}
return null;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Fragm1";
case 1:
return "Fragm2";
case 2:
return "Fragm3";
}
return "OBJECT " + (position + 1);
}
}
在該片段的每個實例的方法OnCreateView有幾個步驟來SQLite數據庫,這將導致數據庫連接池的飽和。 「W/SQLiteConnectionPool(1111):數據庫'/ data/data/com.myapp/databases/mydb'的SQLiteConnection對象被泄露了!請修復您的應用程序以結束事務正在進行正常和關閉數據庫時,它不再需要它。「
我已經嘗試過使用FragmentStatePagerAdapter沒有成功。
您能否告訴我如何繼續?我不希望每次都會重新生成碎片,導致數據庫出現問題。你有保存片段/視圖狀態的例子嗎?
我現在還沒有找到任何建議。 非常感謝你
你有你的片段列表視圖? – playmaker420
我有列表視圖和條形圖。謝謝 – GlassExplorer89
我有類似的問題,第一個片段中的listview在來自第三個片段後重新加載。我做的是,我用listFragment替換了Fragment,並使用了SimpleCursorAdapter和LoaderManager.LoaderCallbacks來填充列表視圖 –
playmaker420