Stas Asked:2020-06-28 16:59:57 +0800 CST2020-06-28 16:59:57 +0800 CST 2020-06-28 16:59:57 +0800 CST 键盘事件 772 我是 Kotlin 的新手,当用户在 EditText 字段中键入内容时,我对如何捕获事件感到有些困惑?例如,如何确保当用户输入某些内容并在 TextView 中复制它? android 3 个回答 Voted Andrew 2020-06-28T17:17:08+08:002020-06-28T17:17:08+08:00 有一个文本更改侦听器addTextChangedListener: EditText editText = (EditText) findViewById(R.id.editText); editText.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) {} public void beforeTextChanged(CharSequence s, int start,int count, int after) { } public void onTextChanged(CharSequence s, int start, int before, int count) { TextView textView = (TextView) findViewById(R.id.textView); textView.setText(s); } }); 这是您问题的教程。 UPDATE_KOTLIN val editText: EditText = findViewById(R.id.editText) editText.addTextChangedListener(object :TextWatcher{ override fun afterTextChanged(p0: Editable?) { } override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { } override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { val textView = findViewById<View>(R.id.textView) as TextView textView.text = s } }) Best Answer Maks 2020-06-28T17:25:35+08:002020-06-28T17:25:35+08:00 我认为这会帮助你: class MainActivity:AppCompatActivity() { overridefunonCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) editTextSample.addTextChangedListener(object:TextWatcher{ overridefunafterTextChanged(s:Editable) {} overridefunbeforeTextChanged(s:CharSequence, start:Int,count:Int, after:Int) {} overridefunonTextChanged(s:CharSequence,start:Int,before:Int, count:Int){ tvSample.setText("Text in EditText : "+s) } }) } } tosh17 2020-06-28T17:34:38+08:002020-06-28T17:34:38+08:00 由于你使用的是kotlin,所以我推荐使用ktx 首先,添加依赖到gradle android { ... compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } } dependencies { ... implementation 'androidx.core:core-ktx:1.3.0' } 之后,您可以在代码中使用更简单的结构 editText.doOnTextChanged { text, start, count, after -> }
有一个文本更改侦听器
addTextChangedListener
:这是您问题的教程。
UPDATE_KOTLIN
我认为这会帮助你:
由于你使用的是kotlin,所以我推荐使用ktx
首先,添加依赖到gradle
之后,您可以在代码中使用更简单的结构