我在我的公共模块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
Run Code Online (Sandbox Code Playgroud)
BaseActivity.kt:
abstract class BaseActivity : AppCompatActivity() {
init {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
}
abstract fun getLayoutRes(): Int
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(getLayoutRes())
}
}
Run Code Online (Sandbox Code Playgroud)
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)
}
}
Run Code Online (Sandbox Code Playgroud)
Had*_*adi 66
似乎有些功能在上次更新中已经改变,只需?从中移除' 'Bundle
像这样:
override fun onCreate(savedInstanceState: Bundle) {
super.onCreate(savedInstanceState)
}
Run Code Online (Sandbox Code Playgroud)
Luc*_*rra 48
它也可能发生在Fragment类中:我发现该方法存在同样的问题onCreateView; 要避免这种情况,只需?从LayoutInflater参数中删除,
像这样:
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View?
Run Code Online (Sandbox Code Playgroud)
我必须添加“?” 使用appcompat-v7:27.1.1时
implementation "com.android.support:appcompat-v7:27.1.1
Run Code Online (Sandbox Code Playgroud)
和
override fun onCreate(savedInstanceState : Bundle?){
super.onCreate(savedInstanceState)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16672 次 |
| 最近记录: |