【发布时间】:2011-05-03 19:44:40
【问题描述】:
是否可以重绘ListView 中的单行?我有一个ListView,其中的行是LinearLayouts。我听取偏好更改,有时我只需要更改单行的LinearLayout 内的一个View。有没有办法让它重绘该行而不调用listview.notifyDatasetChanged()?
我尝试在视图(LinearLayout 内)上调用 view.invalidate(),但它不会重绘该行。
【问题讨论】:
-
“有没有办法让它重绘该行而不调用 listview.notifydatasetchanged()?” -- 只需找到它作为
ViewGroup的子项(在本例中为ListView)并对其进行修改。 “我尝试在视图(在线性布局内)上调用 view.invalidate(),但它不会重绘行。” - 你确定你有正确的行吗?你甚至不需要打电话给invalidate(),AFAIK。 -
我绝对有正确的行和正确的观点。我认为我的问题是我的偏好监听器正在被垃圾收集。我更改了它,所以我在我的活动的 onResume() 中调用 notifyDataSetChanged(),这解决了我试图解决的问题。
标签: android listview view android-arrayadapter redraw