2014-09-22 68 views
0

我有一個用於列表視圖的適配器。它的每一行都有兩個textview,編譯項目時出現這個錯誤,這個錯誤對我來說是日誌貓您必須在android列表視圖中提供layout_height屬性錯誤

java.lang.RuntimeException:二進制XML文件行#8:您必須提供一個layout_height屬性。

這是我的適配器

public class ArticlesAdapter extends BaseAdapter { 

    private ArrayList<ArticlesBean> arr; 
    private LayoutInflater inflater; 
    private ImageLoader mImageLoader; 
    private String mytitle, myldesc; 


    public ArticlesAdapter(Context context, ArrayList<ArticlesBean> arraylist) { 
     this.arr = arraylist; 
     inflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     mImageLoader = new ImageLoader(context); 

    } 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return arr.size(); 

    } 

    @Override 
    public Object getItem(int position) { 
     // TODO Auto-generated method stub 
     return arr.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 

    @Override 
    public View getView(int position, View v, ViewGroup parent) { 

     ViewHolder holder = null; 
     if (v == null) { 

      v = inflater.inflate(R.layout.list_items, null); 
      holder = new ViewHolder(); 

      holder.title = (TextView) v.findViewById(R.id.ltitle); 
      holder.ldesc = (TextView) v.findViewById(R.id.ldesc); 

      v.setTag(holder); 

     } else { 
      holder = (ViewHolder) v.getTag(); 
     } 

     v = inflater.inflate(R.layout.list_items, null); 
     holder.title = (TextView) v.findViewById(R.id.ltitle); 
     holder.ldesc = (TextView) v.findViewById(R.id.ldesc); 

     mytitle = arr.get(position).getTitle(); 
     myldesc = arr.get(position).getBody().substring(0, 45) 
       .replace("\n", " "); 

     Log.e("myldesc", myldesc); 
     Log.e("mytitle", mytitle); 

     holder.title.setText(mytitle); 
     holder.ldesc.setText(myldesc); 

     return v; 
    } 

    static class ViewHolder { 

     public TextView title; 
     public TextView ldesc; 

    } 

    public void refresh(ArrayList<ArticlesBean> items) { 
     // TODO Auto-generated method stub 
     arr.addAll(items); 
     notifyDataSetChanged(); 
     // notifyDataSetChanged(); 
    } 

} 

這是我的xml文件

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

    <TextView 
     android:id="@+id/ltitle" 
     android:layout_width="match_parent" /> 

    <TextView 
     android:id="@+id/ldesc" 
     android:layout_width="match_parent" /> 

</LinearLayout> 
+0

看看@Fede給出的答案,我的問題就像你說'編譯項目時我的問題,這個錯誤在我的log cat中出現。如何編譯時間錯誤來''logcat'。編譯時間錯誤不會出現在'logcat'中,只有運行時日誌和異常被打印在logcat中 – Panther 2014-09-22 20:01:04

+0

太感謝你了 – Odai 2014-09-23 06:14:26

回答

0

試試這個:

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

    <TextView 
     android:id="@+id/ltitle" 
     android:layout_width="match_parent" 
     android:layout_height ="wrap_content" /> 

    <TextView 
     android:id="@+id/ldesc" 
     android:layout_width="match_parent" 
     android:layout_height ="wrap_content" /> 

</LinearLayout> 

你忘了在XML中添加layout_height。

相關問題