No se puede acceder a EditText u otros componentes de la interfaz de usuario con Kotlin

Estoy usando Android Studio 3.0 RC2 y Kotlin.

Cuando bash acceder a un componente de UI, la aplicación se bloquea a less que primero escriba findViewById. Pensé que se suponía que Kotlin se desharía de tener que escribir la línea findViewById . La interfaz de usuario es un fragment e bash acceder desde el mismo código de fragment . ¿Hay alguna manera de no tener que escribir findViewById?

Estas líneas funcionan:

 var userNameField = view?.findViewById<EditText>(R.id.userNameTextField) as EditText userNameField.setText("hello world") 

Esta línea no funciona sin la línea findViewById

 userNameTextField.setText("hello world") 

Incluso tengo

 import kotlinx.android.synthetic.main.fragment_sign_in.* 

El código onCreateView() :

  override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { // Inflate the layout for this fragment var view = inflater!!.inflate(R.layout.fragment_sign_in, container, false) var userNameField = view?.findViewById<EditText>(R.id.userNameTextField) as EditText userNameField.setText("hello world") return view } 

En onCreateView solo devuelve la vista inflada.

 override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { // Inflate the layout for this fragment return inflater!!.inflate(R.layout.fragment_sign_in, container, false) } 

En onViewCreated puede acceder a los componentes de su vista

 override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { userNameField.setText("hello world") } 
  • El tipo Out-Projected 'ArrayList <*>' prohíbe el uso de 'public fun fun add (índice: Int, elemento: E): Unidad definida en java.util.ArrayList'
  • ¿Cuál es el equivalente de este código de java a kotlin
  • ¿Cómo crear un button en Kotlin que abre una nueva actividad (Android Studio)?
  • Obligatorio <Objeto> y encontrado <Objeto>?
  • Extienda la comprobación de Mockito para que Kotlin no funcione (de manera "kotlin")
  • Kotlin || ¿No puedo agregar la biblioteca a Mi aplicación?
  • Anulación accidental: las siguientes declaraciones tienen la misma firma de JVM
  • Clase Kotlin no encontrada
  • Clases de Kotlin sin llaves
  • Hacer clic en una vista de text para cambiar el fragment