Я хочу, чтобы все элементы в списке, отображаемые с помощью ListActivity, были другого цвета (пожалуйста, не комментируйте плохой графический дизайн; я пытаюсь создать демонстрацию).,Однако, прочитав другие вопросы, я увидел, что вы не можете перебирать ListView.Итак, как вы можете управлять TextView для отдельных записей списка?
Вот мой пример программы;закомментированная область показывает код, который не работает.
package com.explorenm.colorlist;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class ColorList extends ListActivity {
private static final String colors[] = {
"red", "green", "blue", "cyan", "magenta",
"yellow", "black", "white"
};
private static final int colorvalues[] = {
// red, green, blue, cyan,
0xFF0000, 0x00FF00, 0x0000FF, 0x00FFFF,
// magenta, yellow, black, white
0xFF00FF, 0xFFFF00, 0x000000, 0xFFFFFF
};
@Override
public void onCreate(Bundle savedInstanceState) {
TextView tv = null;
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, R.layout.listitem, colors));
ListView lv = getListView();
// for (int i=0; i<colors.length; i++) {
// tv = (TextView) lv.getItemAtPosition(i); // lv.getChildAt(i) also fails
// tv.setBackgroundColor(colorvalues[i]);
// }
}
}