【发布时间】:2017-11-01 06:36:12
【问题描述】:
我在我的通用模块 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)
}
}
【问题讨论】:
-
有助于查看您的代码。
-
请分享你的代码sn-p
-
我已经用 Android Studio 3.0 稳定版尝试了你给定的代码,它工作正常。您使用的是相同版本或其他版本的 android studio 吗?
-
我也在使用 Android Studio 3.0 但我的 MainActivity.kt 是一个继承自模块的 baseActivity.kt。通用模块里面的BaseActivity.kt,module_main里面的MainActivity.kt。不知道你是不是想这样做
-
迁移到支持库版本 27.0.0 后我看到了同样的错误