在另一个片段之上添加一个片段 onClickListener 问题

2024-03-12

I'm adding活动的片段而不是替换当前片段(因为这对应于我想要的行为类型)。

我的问题是,单击顶部片段(当前可见的片段)上不可见片段中的视图所在的位置,会导致第二个不可见片段中的视图上的 onClick 事件触发。 为什么会发生这种情况以及如何防止这种情况发生?

这是我用来首先将 ListView 片段添加到活动的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...

    if (savedInstanceState == null) {
        listFragment = new ListFragment ();
        getSupportFragmentManager().beginTransaction()
                .add(R.id.frame_container, listFragment)
                .addToBackStack(listFragment .TAG)
                .commit();
    }

    ...

}

在同一活动中,我在列表片段顶部添加第二个片段:

@Override
protected void onActivityResult(int requestCode, int resultCode,
                                Intent data) {
    ...
            createItemFragment = new CreateItemFragment();
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.frame_container, createItemFragment)
                    .addToBackStack(createItemFragment.TAG)
                    .commit();
    ...
}

您只需将以下属性添加到前面片段的 XML 根布局中即可 -

android:clickable="true"

这将确保触摸事件不会传播到顶层之外。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在另一个片段之上添加一个片段 onClickListener 问题 的相关文章

随机推荐