安卓 editText判断空了还执行清除按钮
时间: 2024-01-06 20:07:01 浏览: 136
在 Android 中,如果需要在用户输入内容时显示清除按钮,并且在用户没有输入内容时隐藏清除按钮,可以通过添加 TextWatcher 监听器实现。
以下是一个示例代码,可以根据用户输入的内容动态显示或隐藏清除按钮:
```java
EditText editText = findViewById(R.id.edit_text);
Button clearButton = findViewById(R.id.clear_button);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// 在文本变化前执行的操作
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// 在文本变化中执行的操作
}
@Override
public void afterTextChanged(Editable s) {
// 在文本变化后执行的操作,包括清空操作
if (s.length() > 0) {
clearButton.setVisibility(View.VISIBLE);
} else {
clearButton.setVisibility(View.GONE);
}
}
});
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText("");
}
});
```
在这个示例代码中,我们首先在 EditText 上添加了一个 TextWatcher 监听器,然后在 `afterTextChanged()` 方法中判断当前输入框中是否有内容,如果有,则显示清除按钮;否则隐藏清除按钮。在清除按钮的点击事件中,我们调用 `editText.setText("")` 方法清空输入框中的内容。这样,当用户输入内容时,清除按钮就会自动显示出来,而当用户清空内容时,清除按钮会自动隐藏。
阅读全文