界面中的“清空”按钮加入事件响应。具体要求: (1) 当用户点击“清空”按钮时,程序清空界面上半部分种图书编号、图示名称和图书作者文本框中用户填写过的内容。 (2) 要求用“属性事件响应”、“内部匿名类事件响应”、“Activitv实环监听器”3种方式实现该功能
时间: 2024-10-22 17:25:09 浏览: 28
在Android界面中,当用户点击"清空"按钮时,可以通过以下三种方式实现清空图书编号、标题和作者字段的功能:
1. **属性事件响应(XML布局文件)**:
在XML布局文件中,给按钮添加`android:onClick="onClearButtonClick"`属性,并在对应的Activity中定义方法:
```xml
<Button
android:id="@+id/clear_button"
android:text="清空"
android:onClick="onClearButtonClick"/>
```
在Activity中实现方法:
```java
public void onClearButtonClick(View view) {
EditText numEdit = findViewById(R.id.book_num_edit);
numEdit.setText("");
EditText titleEdit = findViewById(R.id.title_edit);
titleEdit.setText("");
EditText authorEdit = findViewById(R.id.author_edit);
authorEdit.setText("");
}
```
2. **内部匿名类事件响应(Java代码)**:
直接在Activity中为按钮添加点击事件处理器:
```java
Button clearButton = findViewById(R.id.clear_button);
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText numEdit = findViewById(R.id.book_num_edit);
numEdit.setText("");
EditText titleEdit = findViewById(R.id.title_edit);
titleEdit.setText("");
EditText authorEdit = findViewById(R.id.author_edit);
authorEdit.setText("");
}
});
```
3. **Activity生命周期监听器( Kotlin / Java)**:
使用`setOnEditorActionListener`或`TextWatcher`:
```kotlin
val clearButton = findViewById<Button>(R.id.clear_button)
clearButton.setOnEditorActionListener { _, _, _ ->
val numEdit = findViewById<EditText>(R.id.book_num_edit)
numEdit.text = ""
val titleEdit = findViewById<EditText>(R.id.title_edit)
titleEdit.text = ""
val authorEdit = findViewById<EditText>(R.id.author_edit)
authorEdit.text = ""
false // 阻止默认输入法的行为
}
```
或
```java
Button clearButton = findViewById(R.id.clear_button);
clearButton.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) {}
});
```
阅读全文