[Пересланное сообщение]
Diyorbek Bazarov, 15 октября в 14:17
package com.example.myapplication
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.widget.EditText
import android.widget.ImageView
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
// ===== НАШ КОД НАЧИНАЕТСЯ ЗДЕСЬ =====
// 1. Находим элементы на экране по их ID
val textView = findViewById<TextView>(R.id.textView) // верхний текст
val editText = findViewById<EditText>(R.id.editTextText) // нижнее поле ввода
val imageView = findViewById<ImageView>(R.id.imageView) // картинка
// 2. Вешаем "слушателя" на поле ввода
// Он срабатывает каждый раз, когда вы печатаете или стираете букву
editText.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
// ничего не делаем
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
// Берём то, что написано снизу, и сразу показываем сверху
if (s.isNullOrEmpty()) {
textView.text = "Hello, friend!" // если поле пустое
} else {
textView.text = s // дублируем введённый текст
}
}
override fun afterTextChanged(s: Editable?) {
// ничего не делаем
}
})
}
}