我的主屏幕小部件里面有ListView(Android 4.x - ICS),经过一些更改后列出的项目没有正确显示 - 我的意思是,显示“旧”数据。它总是这样:
看起来,就像缓存列表中不可见的部分一样,当我向上或向下滚动时,只刷新少数项目,而其他项目则不刷新。它看起来很有趣,因为当我上下滚动时,一些项目显示旧的,一些新的,总是不同的项目,如绝对随机。这很简单......
有什么问题?这是我的ListView:
<ListView
android:id="@+id/panelNews"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_marginLeft="@dimen/padding"
android:layout_marginRight="@dimen/padding"
android:layout_weight="1"
android:gravity="top"
android:paddingTop="@dimen/padding"
android:scrollingCache="false"
android:animationCache="false">
</ListView>
这是我的MyWidgetServiceFactory方法的代码(每次数据更改都会触发此方法):
public void onDataSetChanged() {
MyLogger.log(TAG, "onDataSetChanged");
listItems = dbHandler.getRecords(prefHandler);
}
这就是我通过UpdateService通知MyWidgetServiceFactory有关数据更改的方法:
AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] appWidgetIds = manager.getAppWidgetIds(new ComponentName(this, MyWidget.class));
manager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.panelNews);
答案 0 :(得分:0)
答案 1 :(得分:0)