Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 主屏幕小部件中的ListvView有时会显示旧的(缓存的?)数据_Android_Listview_Caching_Widget_Android 4.0 Ice Cream Sandwich - Fatal编程技术网

Android 主屏幕小部件中的ListvView有时会显示旧的(缓存的?)数据

Android 主屏幕小部件中的ListvView有时会显示旧的(缓存的?)数据,android,listview,caching,widget,android-4.0-ice-cream-sandwich,Android,Listview,Caching,Widget,Android 4.0 Ice Cream Sandwich,我在Android 4.x-ICS中有一个主屏幕小部件,它带有ListView,在做了一些更改后,所列的项目没有正确显示——我的意思是,旧的数据会显示出来。它总是这样: listview的可见部分始终良好=显示新数据 列表的不可见部分向上或向下滚动始终显示以下内容 物品陈旧,有些则没有 看起来,列表中不可见的部分被缓存了,当我向上或向下滚动时,只有少数项目被刷新,其他项目则没有。它看起来很有趣,因为当我上下滚动时,一些项目显示旧的,一些新的,总是不同的项目,就像绝对随机的。很简单很奇怪 有什么问

我在Android 4.x-ICS中有一个主屏幕小部件,它带有ListView,在做了一些更改后,所列的项目没有正确显示——我的意思是,旧的数据会显示出来。它总是这样:

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更新服务中的数据更改:

AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] appWidgetIds = manager.getAppWidgetIds(new ComponentName(this, MyWidget.class));
manager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.panelNews);

你应该使用函数

notifyDataSetChanged()
在用于填充列表的适配器上调用。检查这个
有关更多详细信息。

好的,完全是我的错,这是一个愚蠢的错误-我只是忘记更新1个字段。

我不知道数据更改-请参阅更新的问题最后几行。PS:主屏幕上的ListView没有适配器,但有RemoteViewsService和RemoteViewsServiceFactory。
notifyDataSetChanged()