我在我的应用中使用this library。我写的方式是我有一个MainActivity,其布局由库viz提供。像这样的东西:
<SlidingPanel>
<MainContentLayout>
<SlidingPanelContentLayout>
</SlidingPanel>
MainContentLayout基本上是一个FrameLayout,我将片段加载到其中。现在,这里变得棘手了-片段中的代码可以访问slideupupPanel的布局组件。当我在Android Studio中键入组件时,它会自动将正确的合成属性类文件导入为import kotlinx.android.synthetic.main.layout_sliding_panel.*
,甚至自动完成功能也可以将正确的字段显示为属性。但是,当我运行该应用程序时,它崩溃并说该字段为空。要解决此问题,我必须在所有字段中添加(activity as MainActivity).
作为前缀。而当我运行它时,它解决了这个问题。
是否有更清洁的方法来执行此操作,因为编写(活动称为MainActivity)。在这么多地方似乎很烦人。是否有类似kotlin的指令?为什么KotlinX视图绑定库不自动检测到滑动面板的布局在不同的布局上,并因此编写正确的便捷类以正确访问它而又不会导致应用程序崩溃?
我理解了这样的问题:您正在尝试从活动所在的片段访问活动视图之一。