带 TextWatcher 的 Android EditText(从 ListView 搜索数据)

17 Mar 2025 | 阅读 2 分钟

Android EditTextTextView 的子类。EditText 用于输入和修改文本。使用 EditText 时,我们必须在 EditText 的 inputType 属性中指定其输入类型,该属性根据输入配置键盘。

EditText 使用 TextWatcher 接口来监视 EditText 上发生的更改。为此,EditText 调用 addTextChangedListener() 方法。

TextWatcher 的方法

  1. beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3): 它在对 EditText 进行任何更改之前执行。
  2. onTextChanged(CharSequence cs, int arg1, int arg2, int arg3): 它在对 EditText 进行任何更改时执行。
  3. afterTextChanged(Editable arg0): 它在对 EditText 进行更改后执行。

带 TextWatcher() 的 EditText 示例

在此示例中,我们将使用 TextWatcher 实现 EditText,以从 ListView 搜索数据。

activity_main.xml

在 layout 文件夹中创建一个包含 EditText 和 ListView 的 activity_main.xml 文件。

文件:activity_main.xml

在 layout 文件夹中创建另一个 list_item.xml 文件,其中包含 ListView 的数据。

list_item.xml

文件:list_item.xml

Activity 类

Activity 类

输出

android edittext 1 android edittext 2