我已经创建了几个片段,并通过以下方式添加了第一个片段:

mainFragment = (MainFragment) MainFragment.create();
    getSupportFragmentManager().beginTransaction()
    .setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right)
    .add(R.id.content, mainFragment, MAIN_FRAGMENT_TAG)
    .commit();

第二个片段是这样添加的:
     getSupportFragmentManager().beginTransaction().setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right)
    //.hide(mainFragment)
    .add(R.id.content,VenueFragment.create(vid), "Venue Fragment")
    .addToBackStack(null)
    .commit();
    setDrawerIndicatorEnabled(false);

现在,如您所见,hide方法未应用于该事务,并且VenueFragment已打开,这种情况下的问题是,在打开VenueFragment(这是全屏 View )的同时,按下该片段的空白部分会调用该函数的调用。 MainFragment可点击的 View 。 如何防止这种情况?

如果我使用hide选项,则不会发生,但是由于某种原因,用于删除MainFragment的动画正在上升,这带来了一种怪异的体验。

最佳答案

您需要使ViewGroup的根VenueFragment可点击,以便它处理单击事件,并且它们不会向下传递(按z顺序)到另一个Fragment

10-05 17:45