Android Academy · Урок

Обработка ввода пользователя

Реагируйте на нажатия кнопок, считывайте текст из EditText, проверяйте ввод и предоставляйте пользователю обратную связь с помощью сообщений Toast.

Урок 4 из 711 шагов

«Обработка ввода пользователя» — бесплатный урок Android Academy на CoddyKit. Это урок 4 из 7. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Android Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Android Academy содержит 7 уроков всего.

Связывание интерфейса с кодом

Создание разметки — только первый шаг. Вам также нужно:

  • Считывать текст, введённый пользователем в EditText
  • Реагировать на нажатия кнопок
  • Обновлять TextViews новыми значениями

В этом уроке показано, как связать элементы интерфейса с помощью ViewBinding — современного типобезопасного подхода.

Включение ViewBinding

Включите ViewBinding в файле app/build.gradle:

// app/build.gradle (inside android { })
android {
    ...
    buildFeatures {
        viewBinding = true
    }
}

Использование ViewBinding

ViewBinding создаёт класс привязки из XML-разметки. Если разметка называется activity_main.xml, класс будет называться ActivityMainBinding.

import androidx.appcompat.app.AppCompatActivity
import com.example.myapp.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        // Access views directly — no casting!
        binding.tvTitle.text = "Hello!"
    }
}

Обработка нажатий кнопок

Установите обработчик нажатия для любого представления с помощью setOnClickListener. Передайте лямбда-выражение, которое выполняется при нажатии пользователя:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    var count = 0
    binding.btnIncrement.setOnClickListener {
        count++
        binding.tvCount.text = "Count: $count"
    }

    binding.btnReset.setOnClickListener {
        count = 0
        binding.tvCount.text = "Count: 0"
    }
}

Чтение ввода из EditText

Получите введённый пользователем текст с помощью .text.toString():

  • binding.etName.text.toString() — возвращает текущий текст как String
  • Всегда удаляйте пробелы в начале и конце: .trim()
  • Проверяйте, пусто ли значение: используйте .isBlank() или .isEmpty()

Пример с EditText и кнопкой

Считывание ввода и его отображение после нажатия кнопки:

binding.btnGreet.setOnClickListener {
    val name = binding.etName.text.toString().trim()

    if (name.isBlank()) {
        binding.tvResult.text = "Please enter your name"
        return@setOnClickListener
    }

    binding.tvResult.text = "Hello, $name!"
}

Сообщения Toast

Toast — небольшое всплывающее сообщение, которое ненадолго появляется в нижней части экрана. Используйте его для быстрой обратной связи:

  • Toast.LENGTH_SHORT — около 2 секунд
  • Toast.LENGTH_LONG — около 3,5 секунды

Пример Toast

Показ Toast после нажатия кнопки:

import android.widget.Toast

binding.btnSave.setOnClickListener {
    val input = binding.etEmail.text.toString().trim()

    if (input.contains("@")) {
        Toast.makeText(
            this,
            "Saved: $input",
            Toast.LENGTH_SHORT
        ).show()
    } else {
        Toast.makeText(
            this,
            "Invalid email address",
            Toast.LENGTH_LONG
        ).show()
    }
}

Типы ввода и клавиатура

Установите атрибут inputType для EditText, чтобы указать подходящую клавиатуру:

  • textEmailAddress — показывает клавишу @
  • numberDecimal — цифровая клавиатура
  • textPassword — скрывает символы
  • phone — клавиатура для номера телефона

Правильно выбранный тип ввода значительно улучшает взаимодействие с пользователем.

Быстрая проверка

Какой метод считывает текущий текст из EditText как String?

Повторение: обработка ввода пользователя

Теперь ваши приложения могут взаимодействовать с пользователями:

  • Включайте ViewBinding для типобезопасного доступа к представлениям
  • setOnClickListener { } — реагируйте на нажатия
  • .text.toString().trim() — считывайте ввод из EditText
  • Toast.makeText(...).show() — показывайте быстрые сообщения обратной связи
  • inputType — подсказывайте пользователям подходящую клавиатуру

Далее: переход между экранами с помощью Intent.

Можно начать бесплатно

Изучай Kotlin с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
36
Уроки
152

Часто задаваемые вопросы

Урок «Обработка ввода пользователя» бесплатный?

Да — полный текст урока «Обработка ввода пользователя» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Android Academy, подпишись на CoddyKit PRO. Курс Android Academy содержит 7 уроков всего.

Чему я научусь в уроке «Обработка ввода пользователя»?

Реагируйте на нажатия кнопок, считывайте текст из EditText, проверяйте ввод и предоставляйте пользователю обратную связь с помощью сообщений Toast. Ты практикуешь Android Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Android Academy?

Предыдущий опыт не требуется. Android Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 7.

Сколько времени занимает урок «Обработка ввода пользователя»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Android Academy?

Да. Каждый урок Android Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Структура проекта и манифест
  2. Активности и жизненный цикл
  3. Макеты и представления
  4. Обработка ввода пользователя
  5. Намерения и навигация
  6. Фрагменты
  7. Разрешения и запросы во время выполнения
← Назад к Android Academy