
[英]ListFragment of SimpleCursorAdapter and listview behave weirdly when put into a Pageview and FragmentPagerAdapter
[英]ListView SimpleCursorAdapter FragmentPagerAdapter Tabs
对于如何表示这个问题,我思考了很久。 我以为代码太多了,但我可以简单地描述一下。 这可能会提示某人问题可能出在哪里。
Android Studio 3.5.1。
我创建了一个简单的 AppCompatActivity,只要用户按下菜单中的“+”按钮,它就会加载一个新选项卡。 PagerAdapter 使用由 SimpleCursorAdapter 支持的 ListView 加载新片段。 此测试代码加载带有 20 行的虚拟数据的表(TabID、名称、计数)并将其连接起来并显示数据。 到目前为止,一切都很好。 一个选项卡加载了一个虚拟数据的 ListView,在 ListViewItem 布局文件中显示名称和计数。 凉爽的。 为 Fragment 中的 ListView 连接一个 onItemClick 事件,这样当用户单击一行时,数据库中的计数会增加正确的 TabID,然后我刷新 Cursor,调用 adapter.changeCursor() 后跟适配器。通知数据集更改()。 这很好用。 每次点击一行都会增加该行的计数并显示它。
现在,我单击“+”添加我的第二个选项卡。 出现一个新选项卡,加载虚拟数据,并且每行的计数字段为零。 我可以在单击行和递增计数的选项卡之间来回左右滑动。 计数得到维护和正确显示。
这是问题开始的地方。 我再次单击“+”以添加第三个选项卡。 它加载了虚拟数据并将计数字段设置为零。 好的。 滑回 Tab #2,我增加的所有字段都会记住它们的计数。 但是,滑回 Tab #1,所有计数都会丢失。 回到零,Go 到 Tab #2。 所有的计数都在那里,Go 到 Tab #3。 并且所有计数都归零,似乎如果我有 3 个或更多选项卡; 和 go 在相邻选项卡之间来回移动。 没问题,但是如果我从 1 到 3 制表符; Tab #1 中的计数丢失,反之亦然,如果我 Tab 从 3 到 1。Tab #3 中的计数丢失。
我希望我已经尽可能地简洁明了,并且希望有人知道为什么这可能会在 Tab #3 + 上中断。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.