繁体   English   中英

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

[英]How to update view in a cursor adapter?

我已经扩展了游标适配器

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更改颜色。 当它被选中时它会改变颜色,但是当我点击列表视图中的另一个项目时它也会改变颜色,但是所选择的旧项目仍然是相同的颜色。

任何人都可以告诉我是否有更新视图的方法或我如何能够应用这个视图? 谢谢!

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

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

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

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

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

你可能会发现它很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM