gpt4 book ai didi

android - 过滤作为 ViewPager fragment 一部分的 ListView

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:55 26 4
gpt4 key购买 nike

我最近将我的应用程序从使用 Activites 和 TabHost 转换为使用 Android Compat Library for API v4 中的 Fragments 和 ViewPager我能够修复/解决大多数问题,但无法保留以前使用 setTextFilterEnabled 在 ListView 中过滤文本的行为。方法。

我的 ViewPagerAdapter 包含 fragment ,每个 fragment 都有一个 ListView。当用户在 ViewPager 中滑动时,我希望当前 Activity 的 Fragment 的 ListView 在用户键入时过滤文本,就像我能够使用 TabHost-Activity 模型一样。目前,看起来第一个 Fragment 的 ListView 会正确响应,但如果我滑动到下一个 Fragment 并尝试过滤它的 ListView,过滤仍然适用于第一个。如果我扫过前两个然后过滤,结果是不确定的。当前 Activity 的 fragment 永远不会应用过滤器。有时相邻 fragment 会,有时不会。

我试图通过添加自定义回调来解决此问题,这些回调让我可以监控哪些 Fragment 当前可见,哪些是隐藏的。当一个 fragment 作为 ViewPager 的主要 fragment 变得可见时,我将其 ListView 上的 setTextFilterEnabled 设置为 true,并将所有其他设置为 false .这似乎根本没有帮助(我确认我正在为正确的 fragment 正确切换标志)。

我怀疑这需要与 ViewPager 进行某种更深入的集成,但我无法真正弄清楚我需要连接什么。关于如何使这项工作有任何想法?如果需要,我很乐意处理 ACL 代码。

最佳答案

您可以实现方法 onPageSelected扩展 OnPageChangeListener。也许你已经这样做了。如果是这种情况,您可以从那里将适配器设置为当前 ListView 或重新查询您的 cursorAdapter。请注意,使用的 Adapter 必须实现 Filterable 接口(interface)。

关于android - 过滤作为 ViewPager fragment 一部分的 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com