Редактирование TextView из ListAdapter? - PullRequest
0 голосов
/ 13 октября 2011

У меня есть 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 ]

1 голос
/ 13 октября 2011

Вы можете переопределить метод getView() вашего ArrayAdapter ( ссылка на ссылку ), например:

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);
0 голосов
/ 13 октября 2011

Вам следует посмотреть это выступление Google I / O: http://www.google.com/events/io/2010/sessions/world-of-listview-android.html, оно объясняет основы ListView и как вы будете делать такие вещи.

...