如何在Android中保存和恢复ListView位置

如何在Android中保存和恢复ListView位置,第1张

概述我有tabView,在每个标签中显示列表.当我在一个选项卡中滚动时,切换到另一个选项卡并返回到上一个选项卡,位置返回到顶部而不是显示上一个滚动位置.我该如何实现这一目标?需要知道如何使用onSaveInstanceState& onRestoreInstanceState保存位置并使用保存的位置显示上一个滚动位置. 提前致谢. 谢谢大家的回复.我尝试了所有的解决方案,但遇到了其他问题. 基本上我面 我有tabVIEw,在每个标签中显示列表.当我在一个选项卡中滚动时,切换到另一个选项卡并返回到上一个选项卡,位置返回到顶部而不是显示上一个滚动位置.我该如何实现这一目标?需要知道如何使用onSaveInstanceState& onRestoreInstanceState保存位置并使用保存的位置显示上一个滚动位置.

提前致谢.

谢谢大家的回复.我尝试了所有的解决方案,但遇到了其他问题.
基本上我面临的问题如下.

当我启动我的应用程序时,我有一个ListvIEw作为我的第一个活动.
当我单击列表项时,它会启动包含3个选项卡的选项卡活动.
所有3个选项卡都使用名为ListActivity的相同活动.但是3个标签包含不同的数据.
我的问题是当我在选项卡之间切换时如何保留列表的位置.通过提供上述解决方案,当我在一个选项卡中更改位置时,它也会影响其余选项卡.例如,如果我在第一个选项卡中的位置6,则此位置将设置为第二个和第三个选项卡,以及我对所有3个选项卡使用相同的ListActivity.我不被允许分享代码.所以必须这么长时间输入问题.创建的选项卡数量也是动态的.它可能是3或4或5.但是所有选项卡都使用1个ListActivity.

任何人都可以给我一个如何实现这一目标的例子.
1.单个ListActivity在多个选项卡中使用.
2.在影响其他选项卡后,将光标位置保留在选项卡中.

您的解决方案表示赞赏.
提前致谢.

解决方法 不要再在列表视图上调用setAdapter().做这样的事情.
if(myListVIEw.getAdapter() == null)    myListVIEw.setAdapter(new myAdapter(this,R.layout.row,items));

如果需要更新适配器上的ListVIEw调用notifyDataSetChanged().

总结

以上是内存溢出为你收集整理的如何在Android中保存和恢复ListView位置全部内容,希望文章能够帮你解决如何在Android中保存和恢复ListView位置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1134409.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存