【问题标题】:Editing a TextView from ListAdapter?从 ListAdapter 编辑 TextView?
【发布时间】:2011-10-12 22:28:43
【问题描述】:

我有一个由 ArrayAdapter 支持的 ListView。它们是这样定义的:

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,例如更改它的颜色。我该怎么做呢?

【问题讨论】:

    标签: android listview textview android-arrayadapter listadapter


    【解决方案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);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-13
        • 2021-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多