从ListAdapter编辑TextView?

时间:2011-10-12 22:28:44

标签: android listview textview android-arrayadapter listadapter

我有一个ListView,它由ArrayAdapter支持。它们被定义为:

ListView listView = (ListView)findViewById(R.id.listview);
ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(this, R.layout.list_item);
listView.setAdapter(listAdapter);

list_item.xml包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    android:textSize="16sp">
</TextView>

在向列表中添加项目时,我想要做的是编辑与项目关联的TextView,例如更改它的颜色。我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

您可以覆盖ArrayAdapter(link to the reference)的方法getView(),例如:

ListView listView = (ListView)findViewById(R.id.listview);
ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(this, R.layout.list_item){
   public View getView (int position, View convertView, ViewGroup parent){
      View v = super.getView(position,convertView,parent);
      TextView tx = (TextView) v;
      //do something with tx
      return v;
   }
};
listView.setAdapter(listAdapter);

答案 1 :(得分:0)

您应该去观看此Google I / O演讲:http://www.google.com/events/io/2010/sessions/world-of-listview-android.html它解释了ListView的基础知识以及您将如何处理这些事情。