我有一些片段是视图寻呼机的一部分。那些工作正常。但是,在视图分页器中的片段之上,我想将片段放在它们之上(即嵌套或子片段)。因此,在父片段的OnCreateView中,我继续并声明我的子片段,然后立即隐藏它。
optionsFragment = new TrackOptions();
var trans = Activity.SupportFragmentManager.BeginTransaction();
trans.Add(trackOptionsContainer.Id, optionsFragment, "Track Options");
trans.Hide(optionsFragment);
trans.Commit();
然后,在父片段中,当我想要显示这个子片段时,我只是打电话来显示它,当我希望它消失时,我再次隐藏它。
起初,我注意到孩子是透明的,我可以通过它看到父母。如果我然后设置背景,那问题就消失了。
但是,现在我注意到,当我正在查看孩子并点击屏幕时,父母仍然会回复事件(点击事件),因为他们在父母身上是不可见的按钮,孩子
我怀疑这是因为我在展示孩子时需要明确隐藏父母。它是否正确?如果是这样,这里有两个我不理解的后续问题。 1.每次我想要显示父母时,我都不想重新实例化父母。我只想要在应用程序启动时创建的一个实例。如果我必须明确隐藏它,如何在使用片段类的相同实例时再次显示它? 2.我已经阅读了很多不同的选项来获取一个事件,当一个片段被显示并且我已经尝试了大部分时(OnHiddenChanged,OnResume,UserVisibleHint)但它们似乎都不适合这个子片段设置。当我的孩子片段出现时我甚至会使用什么?
谢谢!
麦克
答案 0 :(得分:1)
只需将您的片段设置为可点击,即不允许点击通过。别担心,由于片段的背景不是可点击的背景,因此您不会看到任何点击。
答案 1 :(得分:0)
让你的片段 xml 父布局 android:clickable="true" 现在任何点击都不会被发送到片段返回堆栈