如何更新游标适配器中的视图?

时间:2012-03-14 23:03:13

标签: java android

我已经扩展了游标适配器

public class MyAdapter extends CursorAdapter {

    MyAdapter(View view, Context context, Cursor cursor) {

         ...

    }

    public void bindView(View view, Context con, Cursor c) {

         if (OtherClass.currentlyPlaying.equals(ring)) {

             TextView.setTextColor(Color.red);
         }
    }



}

'currentlyPlaying'是另一个类中的字符串,与当前正在播放的标题相对应。 'ring'是绑定适配器中视图时找到的标题。我选择了textview更改颜色。当它被选中时它会改变颜色,但是当我点击列表视图中的另一个项目时它也会改变颜色,但是所选择的旧项目仍然是相同的颜色。

有人能告诉我是否有办法更新视图或者我可以如何应用这个视图?谢谢!

1 个答案:

答案 0 :(得分:2)

尝试使用“if”的else {}部分并将其设置为默认颜色。像

这样的东西
if (OtherClass.currentlyPlaying.equals(ring)) {

    TextView.setTextColor(Color.red);
}else{
    TextView.setTextColor(Your default color);
}

从我得到的是旧项目没有重新绘制。 ViewHolder也可以帮助你,但是你需要实现它。您可以在此主题中尝试以下教程。

https://stackoverflow.com/a/9696185/1244489

您可能会发现它很有用。