如何使KotlinX直接访问父级活动的综合属性?

问题描述 投票:0回答:1

我在我的应用中使用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视图绑定库不自动检测到滑动面板的布局在不同的布局上,并因此编写正确的便捷类以正确访问它而又不会导致应用程序崩溃?

android kotlin-android-extensions
1个回答
1
投票

我理解了这样的问题:您正在尝试从活动所在的片段访问活动视图之一。

© www.soinside.com 2019 - 2024. All rights reserved.