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(使用前将#替换为@)