6

मुझे अपने लॉगकैट में एक त्रुटि मिल रही है," आपकी सामग्री में एक सूची दृश्य होना चाहिए जिसका आईडी विशेषता' एंड्रॉइड है। R.id.list ' "। मेरा कोड संकलित करता है और चलाता है लेकिन जब मैं अपनी सूचीदृश्य गतिविधि शुरू करता हूं तो बल बंद हो जाता है। मैंने कई समान प्रश्नों पर जांच की है, यह एक आम समस्या प्रतीत होती है लेकिन मैं अभी भी अपना कोड ठीक करने में असमर्थ हूं।सूचीदृश्य त्रुटि: "आपकी सामग्री में एक सूची दृश्य होना चाहिए जिसका आईडी विशेषता 'android.R.id.list' '

घोषणा:

private ListView lv; 
    Context mContext; 
    List mList; 
    String[] testcontacts; 

    MessageView aa = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.firstlist); 
     testcontacts = getResources() 
       .getStringArray(R.array.testcontacts_array); 

     aa = new MessageView(); 
     lv = getListView();/*(ListView) lv.findViewById(R.id.list); Had to comment out, it cannot find list*/ 
     lv.setAdapter(aa); 
     lv.setTextFilterEnabled(true); 

     lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       // When clicked, show a toast with the TextView text 
       Toast.makeText(getApplicationContext(), 
         ((TextView) view).getText(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
class MessageView extends ArrayAdapter<String> { 
     MessageView() { 
      super(FirstLoginActivity.this, android.R.layout.activity_list_item, 
        testcontacts); 
      // TODO Auto-generated constructor stub 
     } 

     public View getView(int position, View convertview, ViewGroup parent) { 
      Log.d("Ebz", "inside getView method"); 
      ViewHolder holder; 
      View v = convertview; 
      if (v == null) { 
       Log.d("Ebz", "if v == null"); 
       LayoutInflater inflater = getLayoutInflater(); 
       v = inflater.inflate(R.layout.list_items, null); 
       holder = new ViewHolder(); 
       holder.firstLine = (TextView) v.findViewById(R.id.firstLine); 
       holder.secondLine = (TextView) v.findViewById(R.id.secondLine); 
       holder.icon1 = (ImageView) v.findViewById(R.id.icon1); 
       holder.icon2 = (ImageView) v.findViewById(R.id.icon2); 
       v.setTag(holder); 
      } else { 
       holder = (ViewHolder) v.getTag(); 
      } 
      holder.firstLine.setText(testcontacts[position]); 
      holder.secondLine.setText(testcontacts[position]); 
      holder.icon1.setImageBitmap(null); 
      holder.icon2.setImageBitmap(null); 
      // call the images directly? 
      return v; 
     } 

     class ViewHolder { 
      TextView firstLine; 
      TextView secondLine; 
      ImageView icon1; 
      ImageView icon2; 

     } 
    } 
} 

मेरे एक्सएमएल

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:id="@+id/top_control_bar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="10dp" 
      android:layout_weight="1" 
      android:background="#cc252a" 
      android:paddingBottom="10dp" 
      android:paddingLeft="10dp" 
      android:paddingTop="10dp" 
      android:text="This will be Changed" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 
    </RelativeLayout> 

    <LinearLayout 
     android:id="@+id/bottom_control_bar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" > 
    </LinearLayout> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:layout_above="@id/bottom_control_bar" 
     android:layout_below="@id/top_control_bar" 
     android:choiceMode="multipleChoice" /> 

</RelativeLayout> 

मेरे लिए ListItemswith:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:id="@+id/top_control_bar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 


     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="10dp" 
      android:layout_weight="1" 
      android:background="#cc252a" 
      android:paddingBottom="10dp" 
      android:paddingLeft="10dp" 
      android:paddingTop="10dp" 
      android:text="This will be Changed" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 

    </RelativeLayout> 

    <LinearLayout 
     android:id="@+id/bottom_control_bar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" > 
    </LinearLayout> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:layout_above="@id/bottom_control_bar" 
     android:layout_below="@id/top_control_bar" 
     android:choiceMode="multipleChoice" 
     android:divider="#cc252a" 
     android:dividerHeight="14.5dp" /> 

</RelativeLayout> 

उत्तर

28

आप शायद एक ListActivity उपयोग कर रहे हैं।

आप में firstlist.xml करने के लिए आईडी की जगह: आईडी/सूची:

<ListView 
    android:id="@android:id/list" 
... 

ListActivity आईडी R.android.id.list एक्सएमएल में जो आप @Android है के लिए लग रहा है।


इसके अलावा इस पोस्ट को देखा था: ListView whose id attribute is 'android.R.id.list' Error when I have the ListView id set correctly

+0

मुझे लगता है कि मुझे पता है तुम क्या मतलब नहीं है। ऐसा लगता है कि मेरे पास सूचीदृश्य है कि आपने इसे कैसे टाइप किया है –

+0

जब मैं कोड कॉपी और पेस्ट करता हूं तो मुझे "lv = (ListView) lv.findViewById (R.id.list)" के अंतर्गत एक त्रुटि मिलती है; " .list सूची के तहत हल नहीं किया जा सकता है या फ़ील्ड नहीं है –

+0

जब मैं lv = getListView() का उपयोग करता हूं तो यह काम नहीं करता है; या तो –

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