Kotlin: нет функции findViewById
Дело в том, что Kotlin может обращаться к элементам XML напрямую.
Допустим, у нас есть TextView:
<TextView
android:id="@+id/example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Тестовый текст"
tools:layout_editor_absoluteX="200dp"
tools:layout_editor_absoluteY="595dp" />
По дефолту тут будет отображаться надпись “Тестовый текст”.
Мы хотим, чтобы при загрузке приложения текст автоматически поменялся на “Новый текст”.
Это сделать просто:
private var _binding: FragmentFirstBinding? = null
private val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = FragmentFirstBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.example.text = "Тестовый текст";
}
Комментарии