से जाँच की के रूप में सेट मैं गतिविधियों में से एक है (जो नाम और मैक नंबरों की सूची से निपटने का सवाल है) में निम्नलिखित मेनू आइटम के साथ एक Android आवेदन है:एक मेनू आइटम कोड
<item android:id="@+id/menu_sort_tagg"
android:icon="@android:drawable/ic_menu_sort_by_size"
android:title="@string/menu_sort_list" >
<menu>
<group android:checkableBehavior="single">
<item android:id="@+id/sort_by_name"
android:title="@string/sort_by_name" />
<item android:id="@+id/sort_by_mac"
android:title="@string/sort_by_mac" />
</menu>
</item>
और आवेदन के रूप में राज्य में परिवर्तन मैं इन सबसे विकल्पों की सूची है कि निम्न कोड के साथ पिछली बार इस्तेमाल किया गया था में जो आइटम पूर्व जांच करने के लिए सक्षम होना चाहते हैं:
((MenuItem)findViewById(R.id.sort_by_name)).setChecked(true);
समस्या यह है कि इस विशिष्ट लाइन मुझे एक क्रम अपवाद देता है। क्या किसी के पास कोई सुराग है?
लॉग पर एक नज़र से पता चलता है कि रनटाइम अपवाद एक शून्य सूचक अपवाद द्वारा ट्रिगर किया जाता है। इस तरह से कोड को बदलने के द्वारा:
MenuItem mi = (MenuItem)findViewById(R.id.sort_by_name);
mi.setChecked(true);
यह स्पष्ट हो जाता है कि अपवाद सेकंड बयान में होता है, जैसे कि, MenuItem मील रिक्त है। तो सही मेनू Item पर पॉइंटर लाने के लिए पहले कथन में विफल क्यों होता है?
हाय, आप हमें अपवाद के साथ एक लॉग दिखा सकते हैं? – Cata
निश्चित रूप से, त्रुटि लॉग आउटपुट है: 11: 38: 34.562: त्रुटि/एंड्रॉइड रनटाइम (14371): अंतिम अपवाद: मुख्य 05-27 11: 38: 34.562: त्रुटि/एंड्रॉइड रनटाइम (14371): java.lang.RuntimeException: गतिविधि ComponentInfo {se.classis.safe.android/se.classis.safe.android.TagListActivity} शुरू करने में असमर्थ: java.lang.NullPointerException 05-27 11: 38: 34.562: ERROR/AndroidRuntime (14371): एंड्रॉइड पर। app.ActivityThread.performLaunchActivity (ActivityThread.java:1647) 05-27 11: 38: 34.562: ERROR/AndroidRuntime (14371): android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1663) 05-27 11: 38: 34.562: त्रुटि –
ऐसा लगता है कि यह एक शून्य सूचक अपवाद से आया है। क्या मेन्यूइटम को पॉइंटर प्रदान करने के लिए findViewById faile खोज सकता है जिसे हम देखना चाहते हैं? –