片段如何处理触摸?

Mac*_*rse 11 android android-fragments

我正在玩android Fragments,我找到了一些对我来说没什么意义的东西.我正在使用兼容性软件包并在2.3.3的nexus上进行测试,因为我还没有motorola xoom.

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

这是重现的代码.

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

有人可以解释原因吗?

编辑:作为CommonsWare的建议,我删除,因为我开了这家作为粘贴在这里的代码问题在Android问题跟踪器,您可以下载从那里演示项目.

bra*_*ey4 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. 
    }
});
Run Code Online (Sandbox Code Playgroud)