java - Null pointer occurs when removing listview item -
मेरे ListView
से कोई आइटम निकालने का प्रयास करते समय मुझे एक शून्य सूचक अपवाद मिलता है। मेरा मानना है कि ऐसा इसलिए है क्योंकि मेरी सूची दृश्य मौजूद बच्चे के विचारों को प्राप्त करने की कोशिश कर रहा है, लेकिन मुझे नहीं पता कि यह कैसे रोकना है क्योंकि मेरे विस्तार योग्य LISTView को बच्चे के विचारों की आवश्यकता होती है।
java.lang.NullPointerException Com.hello.ExpandableListAdapter.getChildrenCount (एंड्रॉइड) पर एंड्रॉइड। एक्सडिएंट लिस्ट कनेक्टर। रीफ़्रेश एक्सपग्रुप मेटाडेटालिस्ट (एक्सपेंडेबल लिनक्स कनेक्टर। जेवा 63) और एंड्रॉइड.विदेट। एक्सपेंडेबल लिस्ट कनेक्टर। एक्सेस $ 000 (एक्सपैंडबल लिनक्स कनेक्टर। जावा) एंड्रॉइड। ExpandableListConnector $ MyDataSetObserver.on Changed (ExpandableListConnector.java:857) android.database.DataSetObservable.notifyChanged (DataSetObservable.java37) पर android.widget.BaseExpandableListAdapter.NotifyDataSetChanged (BaseExpandableListAdapter.java:56) com.hello.MainActivity.InactiveAlarmSorter3000 पर (मुख्य गतिविधि.जावा: 301) com.hello.MainActivity.doPositiveClick पर (MainActi Vity.java315) com.hello.ArmAlarmFragment $ 2.onClick (ArmAlarmFragment.java32) पर
लॉगकट कहता है कि त्रुटि इस विस्तार से मेरे विस्तार योग्य एडाप्टर में आ रही है, लेकिन मुझे नहीं पता कि इस पद्धति को रिक्त स्थान से कैसे रोका जा सकता है।
@ ओवरराइड पब्लिक इं प्राप्त करेंबल्ड्रेनकाउंट (इंट ग्रुप पॉज़ीशन) {स्ट्रिंग टेस्ट = लिस्टडेटा चाइल्ड.गेट (listDataHeader.get (groupPosition)) + " "; लॉग डी। ("डिबग", समूहपैशन + ""); लॉग डी। ("डिबग़ड", सूचीडेटा चाइल्ड + "नमस्ते"); लॉग डी। ("डिबग", सूचीडेटाइडर + "बाय"); लॉग डी। ("डिबग", परीक्षा); यह return.listDataChild.get लौटें (listDataHeader.get (groupPosition))। आकार (); }
जहां विधि को बुलाया जा रहा है।
सार्वजनिक शून्य StuffSorter3000 (स्ट्रिंग हेडर) {लॉग डी। ("परीक्षण इस", हैडर); अगर (हैडर.एक्वायल्स ("कुछ स्टफ")) {loadActiveList (हैडर); } अगर (हैडर.एक्वायल ("अन्य स्टफ")) {loadActiveList (हैडर); } ActiveList.notifyDataSetChanged (); listAdapter.notifyDataSetChanged (); }
विधि जो जोड़ने / हटाने से
सार्वजनिक शून्य लोड ऐक्टिव लिस्ट (स्ट्रिंग चर) {listDataHeaderActive.add (variable); listDataHeaderInactive.remove (चर); }
वेरिएबल जोड़ना ठीक काम करता है और मेरे ऐरेएलिस्ट में आइटम प्रदर्शित होते हैं, हालांकि मेरे अन्य अर्रेइलाइट क्रैश से वेरिएबल्स निकालते हैं।
** variable header
विधि की शुरुआत में शून्य नहीं है।
समाधान बहुत आसान था, लेकिन मुझे लगता है कि इस सवाल को छोड़ देना चाहिए, इसलिए किसी और को डिबगिंग के रूप में ज्यादा समय बर्बाद नहीं करना पड़ेगा।
एक मूल आइटम को हटाने से पहले मुझे यह सुनिश्चित करना है कि जुड़ा हुआ बच्चा दृश्य ध्वस्त हो गया। मैंने अपने डेटासेट को notifyDataSetInvalidated ()
के साथ notifyDataSetChanged ()
का उपयोग करने के बजाय मेरी विस्तार योग्य लिस्ट एडाप्टर पर भी अमान्य किया है। समस्या हल हो रही है।
सार्वजनिक शून्य लोडएक्टिव लिस्ट (स्ट्रिंग वेरिएबल) {Inactive.collapseGroup (AlarmPosition); listDataHeaderInactive.remove (चर); listAdapter.notifyDataSetInvalidate (); ListDataHeaderActive.add (चर) ActiveList.notifyDataSetChanged (); }
Comments
Post a Comment