我有一个自定义ArrayAdapter
来显示ListView
中的项目。它有一个Button
和一个TextView
,我希望当按下按钮时,将文本视图的颜色更改为红色,但如果我单击列表中另一项的按钮,除了将项目的文本视图设置为红色外,还会将文本视图的其余项目的颜色设置为原始颜色。
如果我使用android.R.layout.simple_list_item_1
作为ListView
孩子的布局,会有所不同。我只需要覆盖我的列表setOnItemClickListener
,如下所示:
myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView tv1 = (TextView)view;
if(tv1.getCurrentTextColor() != Color.RED){
for(int i = 0; i < myList.getChildCount(); i++){
TextView tv2 = (TextView)myList.getChildAt(i);
tv2.setTextColor(tv1.getCurrentTextColor());
}
tv1.setTextColor(Color.RED);
}
}
});
但是,由于我使用自定义布局(也是自定义适配器),我不知道在OnItemClick()
方法或getView()
方法中应该如何以及在何处管理它我的自定义适配器。