11

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

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

这是要重现的代码。

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

有人可以解释为什么吗?

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

4

1 回答 1

6

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

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

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. 
    }
});
于 2011-09-26T23:57:40.660 回答