我在我的項目中使用slidingmenu,並且所有sidemenu項目都是碎片。
我的家庭片段有兩個標籤也是片段。 (片段A有兩個子片段作爲標籤;片段B和C)。每當我從其他片段回到homefragment時,fragmentA的OnResume()
就會被調用。如何調用FragmentB的onResume()
這是FragmentA的子項?Android OnResume上的子片段沒有調用
我想在homefragment加載時刷新FragmentB中的視圖,我認爲唯一的選擇是在OnResume()
中執行。
我試着調用homefragment(即fragmentA)的onResume()
中的refreshFragment()
方法,但它拋出了一個錯誤,表示片段沒有附加到活動中。 FragemntA的)的onResume的
代碼(
@Override
public void onResume() {
super.onResume();
mTabHost.setCurrentTab(mTabHost.getCurrentTab());
boolean settingschanged = sharedPrefrences.getBoolean(Constants.CHECK_CHANGE, false);
int unit = sharedPrefrences.getInt(Constants.DIMENSION_UNIT, 0);
SharedPreferences.Editor editor = sharedPrefrences.edit();
switch (mTabHost.getCurrentTab()) {
case 0:
((Outer) mFragments.get(0)).refreshView(unit);
((Outer) mFragments.get(0)).refreshFragment(settingschanged);
editor.putInt(Constants.DIMENSION_UNIT, unit);
editor.commit();
break;
case 1:
((Inner) mFragments.get(1)).refreshView(unit);
editor.putInt(Constants.DIMENSION_UNIT, unit);
editor.commit();
break;
default:
((Outer) mFragments.get(0)).refreshView(unit);
editor.putInt(Constants.DIMENSION_UNIT, unit);
editor.commit();
}
}
下面是崩潰我越來越:
09-16 14:13:34.608: E/AndroidRuntime(5758): java.lang.IllegalStateException: Fragment Outer{d34ce61} not attached to Activity
09-16 14:13:34.608: E/AndroidRuntime(5758): at android.support.v4.app.Fragment.getResources(Fragment.java:639)
不刷新它的onResume還有很多其他的方法來刷新 – siddhesh
@siddhesh你能否詳細說明什麼其他方法我可以**的onResume使用 – hari86
()**的片段a,請檢查哪個子片段當前正在運行,並知道通過使用片段A中的對象調用子片段的必需函數。 –