Kotlin / Java继承和接口

时间:2019-03-13 19:25:07

标签: android inheritance kotlin multiple-inheritance preferencefragment

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

我有一个MainActivity来托管我的三个片段。这三个片段扩展了BaseFragment()(以FragNav应用示例为例),扩展了Fragment()。我想将其中一个片段设为设置页面,然后找到了一个教程online here,其中显示了如何使用PreferenceFragmentCompat来创建设置页面。

问题:本教程的片段扩展了PreferenceFragmentCompat。我的延伸BaseFragment。我不太确定该怎么做,因为我知道您只能继承Java / Kotlin中的一个类。

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可能必须创建另一个abstract class BasePreference() : PreferenceFragmentCompat() {},然后重新实现或复制FragNav库当前在BaseFragment上的内容。

由于PreferenceFragmentCompat要求您覆盖override fun onCreatePreferences(bundle: Bundle, s: String)addPreferencesFromResource(R.xml.app_preferences),因此您不能出于其他目的而禁用该首选项。