我在通用模块BaseActivity.kt和BaseFragment.kt中使用组件开发。当其他模块继承它们时,会出现以下问题

> D:\Android\OneDaily\module_main\src\main\java\com\boco\main\MainActivity.kt
> Error:(7, 24) Unresolved reference: base
> Error:(9, 22) Unresolved reference: BaseActivity
> Error:(21, 5) 'onCreate' overrides nothing
> Error:(17, 5) 'getLayoutRes' overrides nothing
> Error:(22, 15) Unresolved reference: onCreate
> Error:(27, 22) Unresolved reference: findViewById
> Error:(42, 34) Unresolved reference: supportFragmentManager
> D:\Android\OneDaily\module_main\src\main\java\com\boco\main\TimelineFragment.kt
> Error:(7, 24) Unresolved reference: base
> Error:(10, 5) 'getLayoutRes' overrides nothing
> Error:(9, 26) Unresolved reference: BaseFragment
> Error:(14, 5) 'onCreateView' overrides nothing
> Error:(15, 22) Unresolved reference: onCreateView

BaseActivity.kt:
abstract class BaseActivity : AppCompatActivity() {
    init {
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
    }
    abstract fun getLayoutRes(): Int
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(getLayoutRes())
    }
}

MainActivity.kt
class MainActivity : BaseActivity() {

    private lateinit var mBottomNav: BottomNavigationView

    private var mFragment1 = TimelineFragment() as Fragment
    private var mFragment2 = TimelineFragment() as Fragment
    private var mFragment3 = TimelineFragment() as Fragment

    override fun getLayoutRes(): Int {
        return R.layout.activity_main
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }
}

最佳答案

在上次更新中似乎有些功能已更改,
只需从?中删除“Bundle

像这样:

override fun onCreate(savedInstanceState: Bundle) {
    super.onCreate(savedInstanceState)
}

关于android - kotlin 'onCreate'不会覆盖任何内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47049471/

10-10 09:54