Метод setEnabled
Метод setEnabled класса
View
передаёт true или false.
При false нажатия не доходят
до
setOnClickListener,
а виджет часто рисуется бледнее.
В XML то же задаёт android:enabled.
Синтаксис
view.setEnabled(false)
Параметры
| Параметр | Описание |
|---|---|
enabled |
true, если элемент активен.
|
Пример
Давайте отключим кнопку после первого нажатия:
import android.os.Bundle
import android.widget.Button
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)
val action = findViewById<Button>(R.id.action)
action.setOnClickListener {
label.text = "12345"
action.isEnabled = false
}
}
}
На экране после одного нажатия текст станет "12345",
а кнопка перестанет реагировать.
Смотрите также
-
метод
setOnClickListener,
который не срабатывает у disabled View -
класс
Button,
который часто включают и выключают так -
класс
EditText,
поле которого тоже блокируют через setEnabled -
метод
setVisibility,
который прячет элемент полностью