2013-07-27 5 views
11

मैं एक टुकड़ा में एक ListView उपयोग करने के लिए कोशिश कर रहा हूँ नहीं है के साथ दृश्य है। लेकिन मुझे यह त्रुटि मिलती है: अंतिम अपवाद: मुख्य java.lang.RuntimeException: सामग्री आईडी विशेषता 'android.R.id.list' के साथ देखी गई है जो ListView क्लास नहीं है।
मेरे कोड:गंभीर अपवाद: मुख्य java.lang.RuntimeException: सामग्री आईडी गुण 'android.R.id.list' है कि एक ListView वर्ग

मेरे ListFragment:

public class whitelist_list extends ListFragment { 


    Context mContext; 

    @Override 
    public void onAttach(Activity activity) { 
     mContext = activity; 
     Log.i("Event", "onAttach called"); 
     super.onAttach(activity); 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
    } 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     String[] values = new String[] { "Android", "iPhone", "WindowsMobile", 
       "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", 
       "Linux", "OS/2" }; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 
       android.R.layout.simple_list_item_1, values); 
     setListAdapter(adapter); 
     return inflater.inflate(R.layout.whitelist_content, container, false); 
    } 

    @Override 
    public void onListItemClick(ListView l, View v, int position, long id) { 
     // Do something with the data 
    } 

} 


whitelist_list newFragment = new whitelist_list(); 
fragmentManager.beginTransaction() 
.replace(R.id.content_frame, newFragment) 
.commit(); 

संपादित करें: समाधान: एंड्रॉयड के साथ सूची दृश्य घोषित: आईडी = "@ आईडी/एंड्रॉयड: सूची"

+2

यदि आप लेआउट में ListView है तो सुनिश्चित करें कि आप के साथ 'एंड्रॉयड ListView घोषित कर दिया है: आईडी =" @ आईडी/android: सूची "आईडी आईडी –

उत्तर

17

आप एक ListActivity/टुकड़ा का उपयोग करते हैं, अपने लेआउट में अपने ListView के लिए आईडी @Android होना चाहिए पोस्ट अपने whitelist_list.xml में (whatever_activityname .xml) अपने ListView में एंड्रॉयड के लिए आईडी बदलने के लिए: आईडी = "@ एंड्रॉयड: आईडी/सूची"

<ListView android:id="@android:id/list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 
1

मुझे थोड़ी देर पहले यह त्रुटि हुई थी। किसी कारण से लेआउट के लिए एक्सएमएल संशोधित किया गया था ताकि घटकों में से एक गलत प्रकार का हो। एक्सएमएल में जाएं और 'android.R.id.list' की तलाश करें जो उस आइटम से संबंधित नहीं है। मुझे नहीं पता कि यह कैसे बदल गया, लेकिन मुझे लगता है कि शायद जीयूआई संपादक का उपयोग करते समय, मैंने कुछ ऐसी सूची में बदल दिया जो नहीं होना चाहिए था। आईडी/सूची है, तो: आप इसे देख नहीं है, लेआउट

+0

जिसने मेरी मदद की। लेकिन मेरे पास दो लेआउटफ्रैगमेंट्स थे, जिसमें दो लेआउट फाइलें थीं जिनमें प्रत्येक को सूची 'दृश्य' की आवश्यकता होती थी, जिसमें आईडी @ @android: id/list' थी। मैंने अपनी सूची फ़्रेगमेंट को एक फ़ाइल में एक सामान्य टुकड़े में बदल दिया और खुद को ListView जोड़ा। – Micky

संबंधित मुद्दे