android - Fragments 如何处理触摸?

标签 android android-fragments

我正在玩 android 的 Fragments,我发现了一些对我来说意义不大的东西。 我正在使用兼容包并在带有 2.3.3 的 nexus one 上进行测试,因为我还没有摩托罗拉 xoom。

我的问题是: 当我用另一个替换 fragment 时,后面的那个继续接收触摸。

这是要重现的代码。

我有一个项目列表,当您按一行时,将创建并显示一个新 fragment 。 但是 如果您触摸绿色 fragment ,它将被 ListFragment 接收,增加我必须按下的后退按钮数量才能返回到 ListFragment

谁能解释一下为什么?

编辑: 正如 CommonsWare 所建议的那样,我删除了粘贴在此处的代码,因为我将其作为 issue 打开。在 android 问题跟踪器中,您可以 download那里的演示项目。

最佳答案

我遇到了类似的问题。我在一个较大的 fragment 之上有一个较小尺寸的 fragment ,您可以看到较大的 fragment 从较小的 fragment 中伸出来。在某些情况下,当我按下顶部的 fragment 时,它会触发底部 fragment 的 onClick 事件处理程序。

为了防止这种情况发生,我将 onClickListener 设置为较小 fragment 的父布局。通过这样做,它可以防止将 onClick 事件传递到它后面的 fragment 。

LinearLayout ll= (LinearLayout) mView.findViewById(R.id.topLayout);
ll.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        //left empty on purpose to capture the onClick event. 
    }
});

关于android - Fragments 如何处理触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5318329/

相关文章:

java - 谷歌地图未在自定义 Flipview 中初始化

android - 将 Stripe token 传递给服务器并在服务器上处理

android - 我可以在 Fragment 中实现启动画面吗?

java - Fragment的onDestroy()中是否需要将ViewBinding设置为null?

android - 如何在没有 Dagger 的情况下在 MVP 中使用共享首选项并且不会导致 Presenter 依赖于上下文?

java - 尝试使用自定义适配器填充 ListView

android - 如何在手机屏幕关闭时使用加速度计计算步数

java - 从抽屉导航启动 fragment 会导致应用程序崩溃

android - 对话框 fragment 不占据整个屏幕

android - 避免位图被回收android