【发布时间】:2017-11-18 00:51:51
【问题描述】:
我正在使用带有 ArrayAdapter 的 ListView,并且我想在用户单击 TextView 时更改其内部文本的颜色。这很好用,除非当一个 TextView 更改颜色时,列表下方的另一个 TextView 也会更改颜色。
这是否与 ArrayAdapter 重用视图有关?
ArrayAdapter<String> adapter = new ArrayAdapter<> (thisContext, R.layout.textview_1, arrayList);
listView.setAdapter (adapter);
listView.setOnItemClickListener (new AdapterView.OnItemClickListener ()
{
@Override
public void onItemClick (AdapterView<?> parent, View view, int position, long id)
{
TextView textToChange = (TextView) view;
textToChange.setTextColor (Color.RED);
}
});
【问题讨论】:
-
你需要考虑
position...你正在做整个view的改变。