संपादित 2FragmentStatePagerAdapter - NullPointerException में FragmentManagerImpl.getFragment परिणाम
मैं अब यहाँ https://code.google.com/p/android/issues/detail?id=42601#c10 से चाल का उपयोग इतना है कि reoson क्यों मेरे पिछले संपादन के शीर्ष पर रखा है के साथ त्रुटि से छुटकारा पाने में कामयाब मेरा प्रश्न।
लेकिन यह अगले त्रुटि हुई थी:
java.lang.NullPointerException
at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:569)
at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211)
at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1281)
at android.view.View.dispatchRestoreInstanceState(View.java:12043)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2688)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2694)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2694)
at android.view.View.restoreHierarchyState(View.java:12021)
at android.support.v4.app.Fragment.restoreViewState(Fragment.java:425)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:949)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4800)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
और अब मैं जारी रखने के लिए जहां पता नहीं है ...
संपादित करें 0 - पहला सवाल
मैं निम्नलिखित मिल अपवाद:
java.lang.IllegalStateException: No activity
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1091)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1877)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1492)
at android.support.v4.app._HoloFragment.performActivityCreated(_HoloFragment.java:251)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4800)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
मुझे कोई जानकारी नहीं है कहा से शुरुवात करे। मैं अद्यतित समर्थन पुस्तकालय (v4, rev18) का उपयोग कर रहा हूँ।
सब कुछ ठीक काम करता है जब तक कि मैं Fragment
जोड़ता हूं जिसमें के साथ संयोजन में ViewPager
होता है।
मैं समर्थन लाइब्रेरी हर जगह उपयोग कर रहा हूँ, मैं https://code.google.com/p/android/issues/detail?id=42601 से समाधान करने की कोशिश की ...
लेकिन कुछ भी नहीं अभी तक काम किया ...
मैं कहाँ शुरू करने के लिए पता नहीं है, करता है किसी को भी एक है संकेत?
संपादित करें 1: पृष्ठभूमि और कोड
1) मेरी MainActivity में मैं निम्नलिखित का उपयोग करें:
तीसरे पृष्ठ है viewpager ...
public void setPage(int pos, boolean addToBackStack)
{
Fragment nextFragment = null;
FragmentTransaction transaction = null;
switch (pos)
{
case 0:
if (mFragmentAllRoutines == null)
mFragmentAllRoutines = new RoutinesListFragment();
if (!mFragmentAllRoutines.isVisible())
nextFragment = mFragmentAllRoutines;
break;
case 1:
if (mFragmentRoutine == null)
mFragmentRoutine = new RoutineFragment();
if (!mFragmentRoutine.isVisible())
nextFragment = mFragmentRoutine;
break;
case 2:
if (mFragmentDay == null)
mFragmentDay = new RoutineDayFragment();
if (!mFragmentDay.isVisible())
nextFragment = mFragmentDay;
break;
default:
break;
}
if (nextFragment != null)
{
// Fragment prevFragment = getSupportFragmentManager().findFragmentById(R.id.fragment);
transaction = getSupportFragmentManager().beginTransaction();
// if (prevFragment != null)
// transaction.detach(prevFragment);
transaction.replace(R.id.fragment, nextFragment, nextFragment.getClass().getName());
// transaction.attach(nextFragment);
if (addToBackStack)
transaction.addToBackStack(null);
transaction.commit();
}
}
2) तीसरा टुकड़ा:
यह व्यूपेजर और फ्रैमेमे के साथ एक साधारण टुकड़ा है ntStatePagerAdapter। FragmentStatePagerAdapter को getChildFragmentManager()
को FragmentManager के रूप में प्राप्त करें। और कहीं भी समस्या प्रतीत होती है।
अपना प्रासंगिक कोड –
पोस्ट करें अपना पूरा स्टैक ट्रेस, लॉगकैट आउटपुट .. और अपना कोड भी पोस्ट करें। –
मैंने अपना प्रश्न और मेरी समस्या की वर्तमान स्थिति अपडेट की ... – prom85