2010-11-19 10 views
0

Yüklü bir ListView var. Veri kaynağının içeriğini kontrol ettim ve geçerli veriler içeriyor. Ne yazık ki, satır sayısı doğru, ancak görüntülemek istediğim metin görünmüyor. İşte Listemde görünmeyen metin ListView

ben ListView kuruyorum nasıl:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:padding="6dip"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="0dip" 
     android:layout_weight="1" 
     android:layout_height="fill_parent"> 
     <TextView 
      android:id="@+id/toptext" 
      android:layout_width="fill_parent" 
      android:layout_weight="1" 
      android:gravity="center_vertical" android:layout_height="0dip" android:singleLine="true" android:textSize="15sp" android:textStyle="bold" android:ellipsize="end" android:shadowColor="#000000" android:shadowDy="1.0" android:shadowRadius="1.0" android:textColor="#FFFFFF"/> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="0dip" 
      android:layout_weight="1" 
      android:id="@+id/bottomtext" 
      android:singleLine="true" 
      android:ellipsize="marquee" 
     android:textSize="15sp" android:shadowColor="#000000" android:shadowDy="1.0" android:shadowRadius="1.0" android:textColor="#FFFFFF"/> 

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/dateText" android:shadowColor="#000000" android:shadowDy="1.0" android:shadowRadius="1.0" android:textColor="#E2E2E2"></TextView></LinearLayout> 

</LinearLayout> 
: Burada
private class StreamAdapter extends ArrayAdapter<STMessage> { 

     private ArrayList<STMessage> messages; 

     public StreamAdapter(Context context, int textViewResourceId, ArrayList<STMessage> messages) { 
      super(context, textViewResourceId, messages); 
      this.messages = messages; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      View v = convertView; 
      if (v == null) { 
       LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       v = vi.inflate(R.layout.streamactivityrow, null); 
      } 

      STMessage aMessage = messages.get(position); 

      if (aMessage != null) { 
       TextView titleText = (TextView) v.findViewById(R.id.toptext); 
       TextView descriptionText = (TextView) v.findViewById(R.id.bottomtext); 

       if (titleText != null) { 
        titleText.setText(aMessage.getBody()); 
       } 
       if (descriptionText != null) { 
        descriptionText.setText(aMessage.getFor_user_login()); 
       } 
      } 

      return v; 
     } 
    } 

listedeki her satır için XML'dir: Burada

private void setupUI() { 
     setContentView(R.layout.streamactivity); 
     this.streamListView = (ListView) findViewById(R.id.streamListView); 
     this.streamAdapter = new StreamAdapter(this, R.layout.streamactivityrow, messages); 
     streamListView.setAdapter(this.streamAdapter); 
    } 

benim Adaptör olduğunu

ListView ile StreamActivity için XML:

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


<ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/streamListView"></ListView> 
</LinearLayout> 
+0

getView kodunuza bazı girişler (örn. Log.d ("tag", ...)) eklemeyi deneyin. A) Görüntülemelerinizin doğru bir şekilde bulunmasını sağlayın ve b) aMessage.getFor_user_login() öğesinin aslında sizin düşündüğünüz şeyi geri getirdiğinden emin olun. Ayrıca, maskeleme hataları olabilecek bir sürü boş çek var - getMon içinde null olmak için aMessage, titleText veya descriptionText için geçerli bir neden var mı? Bu özel çekleri kaldırırsan ne olur? LinearLayout android değiştirdiğimde bile –

cevap

0

şunlardır:

<ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/streamListView"></ListView> 

fill_parent olmalı.

0

XML'inizi inceleyin, bazı değerlerin suçlu oldu 0.

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="0dip" 
+0

: layout_width = "fill_parent" metni görünmüyor –