Метод findViewById
Метод findViewById
ищет элемент в дереве разметки по id.
Его вызывают у активности после
setContentView
или у родительского
View.
Id задают в XML как @+id/name
и обращаются через R.id.name.
Результат приводят к нужному типу:
TextView,
Button.
Синтаксис
val label = findViewById<TextView>(R.id.label)
Параметры
| Параметр | Описание |
|---|---|
id |
Числовой id из R.id,
совпадает с android:id в XML.
|
Пример
Давайте зададим id тексту в разметке:
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="abcde" />
В файле layout появится ресурс R.id.label для поиска из кода.
Пример
Давайте найдём label и сменим строку:
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val label = findViewById<TextView>(R.id.label)
label.text = "12345"
}
}
На экране вместо "abcde"
появится "12345" из кода.
Смотрите также
-
класс
View,
который возвращает findViewById -
метод
setText,
который вызывают на найденном TextView -
класс
LayoutInflater,
который создаёт дерево View из XML -
метод
setOnClickListener,
который вешают на View после findViewById