2012-02-15 33 views
0

我想添加一個字符串和圖像數組到我的列表視圖。我設法在列表視圖中對每一行進行優化,但現在我無法在列表視圖的每行中看到文本。我也想添加一個圖像到列表視圖中的每一行。我想我需要使用不同勢適配器..如何添加文本或圖像到自定義列表視圖

代碼:

todoItems.add(redString); 
    todoItems.add(blueString); 
    todoItems.add(yellowString); 
final ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.listviewitem,todoItems); 
    mylistListView.setAdapter(aa); 

ListViewItem的XML:

<com.todo.ListViewItem 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="10dp" 
android:scrollbars="vertical" 
android:textColor="@color/notepad_text" 
android:fadingEdge="vertical" 
>  

+0

你對這個例子說什麼? [Android ListView示例](http://www.technotalkative.com/android-%E2%80%93-listview-%E2%80%93-5-%E2%80%93-optimized-custom-listview/) – 2012-02-15 11:57:58

+0

請參閱下面的鏈接..... http://www.vogella.de/articles/AndroidListView/article.html#listsactivity_layout – himanshu 2012-02-15 11:49:52

回答

0

這是自定義的ListView一些boags。閱讀thisthis鏈接。

0

我建議你在列表中使用佈局充氣器。這裏是一個例子。

1)的main.xml

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


    <ListView android:layout_width="match_parent"  
    android:id="@android:id/list" android:layout_alignParentTop="true" 
    android:layout_height="330dp" 
    android:layout_weight="0.48"></ListView> 
    </LinearLayout> 

2)創建一個名爲「list.xml」的佈局,包括文本和圖像,你希望在你的列表中。

private LayoutInflater mInflater; 
    try{ 
mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    getList(); 


    }catch(Exception e){ 

    } 


private void getList(final ArrayList<Object> asdf) { 


    setListAdapter(new ArrayAdapter<Object>(MainActivity.this, 
      R.layout.list, asdf) { 

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

      View row; 

      if (null == convertView) { 
       row = mInflater.inflate(R.layout.list, null); 
      } else { 
       row = convertView; 
      } 

      TextView text1 = (TextView) row.findViewById(R.id.text1); 
      ImageView im = (ImageView) row.findViewById(R.id.image1); 

      row.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 

       } 
      }); 

      return row; 
     } 

    }); 

} 
相關問題