studio example descargar compiler codelabs android kotlin

android - example - kotlin ''onCreate'' anula nada



kotlin ios (5)

Estoy usando el desarrollo de componentes, en mi módulo común BaseActivity.kt y BaseFragment.kt. Los siguientes problemas ocurren cuando otros módulos los heredan

> 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) } }


Actualice las firmas de funciones o vuelva a compileSdk de 27 a 26


He solucionado este problema. La razón es que no configuras tu módulo común. Agregue el código de dos líneas en el módulo común build.gradle arriba: apply plugin: ''kotlin-android'' apply plugin: ''kotlin-android-extensions'' espero que esto le pueda ayudar.


Parece que algunas funciones han cambiado en la última actualización, simplemente elimine el '' ? ''del Bundle

Me gusta esto:

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


También puede suceder en una clase de Fragmento: encontré el mismo problema para el método onCreateView ; para evitar eso, solo quita el ? del parámetro LayoutInflater ,

Me gusta esto:

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View?


Tengo que añadir "?" cuando se utiliza appcompat-v7: 27.1.1

implementation "com.android.support:appcompat-v7:27.1.1

y

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