Kotlin / Java继承和接口

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

情况:所以我正在使用ncapdevi's FragNav Library构建一个应用程序来帮助我浏览我的片段。

我有一个MainActivity来托管我的三个片段。这三个片段扩展了BaseFragment()(遵循FragNav app示例),扩展了Fragment()。我的一个片段我想成为一个设置页面,我找到了一个教程online here,它展示了如何使用PreferenceFragmentCompat制作设置页面。

问题:教程的片段扩展了PreferenceFragmentCompat。我的扩展BaseFragment。我不确定如何解决这个问题,因为我知道你只能在Java / Kotlin中继承一个类。

我确实看到了关于使用Interfaces的建议,但也许有人指出我正确的方向。

任何帮助将不胜感激。

android inheritance kotlin multiple-inheritance preferencefragment
1个回答
0
投票

您可能需要创建另一个abstract class BasePreference() : PreferenceFragmentCompat() {}并重新实现或复制您目前在BaseFragment为FragNav库提供的内容。

由于PreferenceFragmentCompat要求您覆盖override fun onCreatePreferences(bundle: Bundle, s: String)addPreferencesFromResource(R.xml.app_preferences),因此您无法禁用其他用途的偏好。

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