我有一个InfiniteContainer列表,其中每个元素都是一个相对复杂的容器,每个元素都有几个不同的按钮。由于它是一个可滚动的列表,我使用LongPointerPress来激活拖拽,就像在另一篇文章中推荐的Shai一样。为此,我需要设置一个主要组件来处理这个问题。但是,当我设置它时,其他按钮都没有获得它们各自的事件。我以为我可以覆盖按钮的getLeadComponent()以使其返回null,以确保这些按钮处理他们自己的事件,但它是私有的,并且现在还没有能够想到任何其他解决方案。
是否有推荐的处理方法?
NB。我花了很多时间拼凑不同帖子的部分建议,并使用反复试验来使这个UI工作。如果CN1文档可以包含更多关于适用于这种“真实生活”的方法的明确建议,那将是有用的。复杂的用户界面,结合了例如列表,拖放,多个按钮,长按以进行其他操作,可切换容器,......它不应该感觉像是持续黑客; - )
答案 0 :(得分:0)
完成主要组件功能后,您可setLeadComponent(null)
撤消"主要成分效应。主要成分行为是全部或全部"做法。
如果这对您不起作用,您可以覆盖Form
中的低级事件并在那里实现其功能。您可以通过不调用super.pointer*
中的Form
方法来阻止组件获取事件,从而允许任何类型的效果。