如何更改ListView中单击时的图标?
我的 ListView
链接到数据库(使用 SimpleCursorAdapter
)。
当用户单击该行以更改图标时,我该怎么办? 我尝试过:
- 更新数据库值;
- 手动更改图标;
- 称呼
myCursor.notifyDataSetChanged();
它不起作用 - 没有任何改变。 如果我不调用 myCursor.notifyDataSetChanged();,则图标会更改。但是一旦我移动ListView,它就消失了。 如果我再次将 myCursor
与 ListView
关联,那么它可以工作,但是整个 ListView
被重新绘制,列表滚动到顶部,这是不正确的行为。
我应该怎么办?
My ListView
is linked to the database (with SimpleCursorAdapter
).
What should I do once user clicked on the row to change the icon?
I've tried to:
- update database value;
- change icon manually;
- call
myCursor.notifyDataSetChanged();
It doesn't work - nothing is changed.
If I don't call myCursor.notifyDataSetChanged();
, then icon is changed. But once I move ListView, it disappears.
If I associate myCursor
with ListView
again, then it works, but the whole ListView
is re-drawn, list is scrolled to the top, which is incorrect behaviour.
What should I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好的,我找到了答案 - 我应该
重新查询
光标。OK, I've found the answer - I should
requery
the cursor.