मेरा एप्लिकेशन बंद हो जाता है जब मैं अपनी स्क्रीन बंद करता हूं और उसे वापस चालू करता हूं।ViewPager पेजर ऑब्सर्वर पंजीकृत नहीं था
लॉगकैट मुझे बताता है कि इस त्रुटि का कारण मेरे पाठ्यक्रमफ्रैगमेंट.क्लास में जावा लाइन 60 को इंगित कर रहा है जो टुकड़े को बढ़ाता है।
mViewPager.setAdapter(infoTechPageAdapter);
मैं अपने कोर्सफ्रैगमेंट.क्लास में एक व्यूपेगर लागू कर रहा हूं जो टुकड़े को बढ़ाता है।
यहाँ मेरी कोड है:
public class CourseFragment extends Fragment {
public static final String ARG_POSITION_NUMBER = "course_number";
private int position;
public CourseFragment() {
// Empty constructor required for fragment subclasses
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView;
position = getArguments().getInt("position");
String course = getResources().getStringArray(
R.array.array_navigation_drawer)[position];
getActivity().setTitle(course);
rootView = inflater.inflate(R.layout.activity_drawer_fragment,
container, false);
return rootView;
}// end onCreateView
@Override
public void onStart() {
super.onStart();
ViewPager mViewPager = (ViewPager) getActivity().findViewById(
R.id.pagerYear);
Log.i("posit", String.valueOf(position));
switch (position) {
case 0:
InfoTechPageAdapter infoTechPageAdapter = new InfoTechPageAdapter(
getActivity().getSupportFragmentManager());
mViewPager.setAdapter(infoTechPageAdapter);
break;
case 1:
ComSciPageAdapter comSciPageAdapter = new ComSciPageAdapter(
getActivity().getSupportFragmentManager());
mViewPager.setAdapter(comSciPageAdapter);
break;
case 2:
ProfilePageAdapter profilePageAdapter = new ProfilePageAdapter(
getActivity().getSupportFragmentManager());
mViewPager.setAdapter(profilePageAdapter);
break;
}
}// end onStart
}
Logcat
09-22 10:54:03.830: E/AndroidRuntime(2917): FATAL EXCEPTION: main
09-22 10:54:03.830: E/AndroidRuntime(2917): java.lang.IllegalStateException: Observer [email protected] was not registered.
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.database.Observable.unregisterObserver(Observable.java:69)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.view.PagerAdapter.unregisterDataSetObserver(PagerAdapter.java:294)
09-22 10:54:03.830: E/AndroidRuntime(2917): at com.usjr.sss.adapter.InfoTechPageAdapter.unregisterDataSetObserver(InfoTechPageAdapter.java:21)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.view.ViewPager.setAdapter(ViewPager.java:409)
09-22 10:54:03.830: E/AndroidRuntime(2917): at com.usjr.sss.fragment.CourseFragment.onStart(CourseFragment.java:60)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.Fragment.performStart(Fragment.java:1502)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:957)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.view.ViewPager.setAdapter(ViewPager.java:415)
09-22 10:54:03.830: E/AndroidRuntime(2917): at com.usjr.sss.fragment.CourseFragment.onStart(CourseFragment.java:60)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.Fragment.performStart(Fragment.java:1502)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:957)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:1882)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:573)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.app.Activity.performStart(Activity.java:5114)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.app.Activity.performRestart(Activity.java:5169)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.app.ActivityThread.handleSleeping(ActivityThread.java:3408)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.app.ActivityThread.access$2700(ActivityThread.java:153)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1426)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.os.Handler.dispatchMessage(Handler.java:99)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.os.Looper.loop(Looper.java:137)
09-22 10:54:03.830: E/AndroidRuntime(2917): at android.app.ActivityThread.main(ActivityThread.java:5227)
09-22 10:54:03.830: E/AndroidRuntime(2917): at java.lang.reflect.Method.invokeNative(Native Method)
09-22 10:54:03.830: E/AndroidRuntime(2917): at java.lang.reflect.Method.invoke(Method.java:511)
09-22 10:54:03.830: E/AndroidRuntime(2917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
09-22 10:54:03.830: E/AndroidRuntime(2917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
09-22 10:54:03.830: E/AndroidRuntime(2917): at dalvik.system.NativeStart.main(Native Method)
1. क्या 'ViewPager'' R.layout.activity_drawer_fragment' लेआउट में घोषित किया गया है? यदि हां, तो 'getActivity()। FindViewById (R.id.pagerYear) का उपयोग न करें; इसे खोजने के लिए, इसके बजाय सीधे टुकड़े के दृश्य का उपयोग करें:' getView()। FindViewById (R.id.pagerYear); '2. फिर, यदि' ViewPagerment' में 'ViewPager' का उपयोग किया जाना है, तो 'getActivity() के बजाय' getChildFragmentManager() '' InfoTechPageAdapter' (और शेष एडाप्टर) को पास करें। GetSupportFragmentManager() '। – Luksprog
मैं प्रभावित हूं। तुम बहुत अच्छे हो[email protected] _ @ मेरे पास एक और मुद्दा है लेकिन अगर मैं समाधान नहीं ढूंढ पा रहा हूं तो शायद मैं इसे बाद में पोस्ट करूंगा, आशा करता हूं कि आप इसके साथ मेरी मदद भी कर सकते हैं। बहुत बहुत धन्यवाद। – Marss
वास्तव में ... मुझे नहीं पता कि धन्यवाद कैसे कहना है .... आप वास्तव में अच्छे हैं, मुझे नहीं पता था कि मुझे आपकी टिप्पणी कैसे मिलती है ... कृपया टिप्पणी को उत्तर के रूप में रखें :) ताकि प्रत्येक व्यक्ति देख सके उन्हें जल्दी ... मुझे लगता है कि किसी और ने इस समाधान को नहीं रखा .. –