gpt4 book ai didi

android - ViewPager 中的错误 fragment 接收 onContextItemSelected 调用

转载 作者:IT老高 更新时间:2023-10-28 22:16:32 25 4
gpt4 key购买 nike

我有一个应用程序在 ViewPager 中显示了一些 fragment (相同类型),但我在使用上下文菜单项时遇到了一些问题。 (我正在使用支持库)。

当在其中一个 fragment 的上下文菜单中选择上下文菜单项时,错误的 fragment 正在接收 onContextItemSelected 事件调用。

例如,如果我在寻呼机中的 fragment #3 上,则位置 #2 的 fragment 会接收它。如果我滑回 fragment #2, fragment #3 会接收调用。

我有一个样本 here .

(我目前正在我自己的应用程序中解决这个问题,方法是在每个 fragment 中都有一个 mHandleContext 变量,并在页面更改时启用/禁用它。这样 onContextItemSelected 调用将传递到所有 fragment ,直到调用正确的 fragment 。)

我做错了什么还是支持库的错误?附带说明一下,当我使用 ActionBarSherlock 3.5.1 时没有发生这种情况,它有自己的支持库的分支。

最佳答案

所以这是 Google 做出的某种愚蠢的设计决定,或者是完全没有考虑过的事情。解决此问题的最简单方法是使用这样的 if 语句包装 onContextItemSelected 调用:

if (getUserVisibleHint()) {
// Handle menu events and return true
} else
return false; // Pass the event to the next fragment

ActionBarSherlock 3.5 中的兼容性库有这样的 hack。

关于android - ViewPager 中的错误 fragment 接收 onContextItemSelected 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9753213/

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