Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.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
Java Android如何保存我的listview的状态_Java_Android_Listview_State_Retain - Fatal编程技术网

Java Android如何保存我的listview的状态

Java Android如何保存我的listview的状态,java,android,listview,state,retain,Java,Android,Listview,State,Retain,是否有listviewObject.SaveViewState(视图)功能可供我使用?我有ListView,也有其他带有自定义适配器的ListView,但这两个都不能保存视图的状态。这些ListView中有大量动态生成的内容,因此,当该行超出视图时,数据会被重置 我理解viewholder背后的概念,但是我很难追溯我的listview与它们的匹配。(无效例外,非法国家例外) 既然保存视图的常用方法是传递视图,那么listview有一个内置函数,它只是将视图作为变量接受,这难道没有意义吗?我知道l

是否有
listviewObject.SaveViewState(视图)
功能可供我使用?我有ListView,也有其他带有自定义适配器的ListView,但这两个都不能保存视图的状态。这些ListView中有大量动态生成的内容,因此,当该行超出视图时,数据会被重置

我理解viewholder背后的概念,但是我很难追溯我的listview与它们的匹配。(无效例外,非法国家例外)

既然保存视图的常用方法是传递视图,那么listview有一个内置函数,它只是将视图作为变量接受,这难道没有意义吗?我知道listview是在内存有限的情况下创建的,与webview(它也是在内存有限的情况下构建的)相比,似乎没有办法保存内置的状态,用户可以强制启用/禁用缓存,进行自己的内存管理等


该列表的整体思想是它是动态的,可能很长,所以有很多行是不可见的。因此,适配器方法的目标是只在屏幕上显示尽可能多的视图,并通过运行getView()来填充数据-如果不再需要,应该重用视图

因此,当您在帐户中考虑到这一点时,它变得非常简单,应该保存/重新加载后面的数据模型(存储在适配器中),并且在重新加载列表并使用模型中的数据填充列表时,应该重新生成列表视图


这更符合列表的概念。

也许我不应该使用列表!此时,虽然我确实需要实现一个viewholder,但这可能是一个单独的问题,如果后面的数据模型是一个游标(对于SimpleCursorAdapter),您知道如何保存列表的状态吗?