写一个Android功能要求点击提交后弹出对话框给出得分与成绩弹框一致,退出弹框返回上一屏的文档
时间: 2024-01-21 16:18:46 浏览: 63
下面是一个简单的实现方法,你可以根据自己的需求进行修改:
1. 首先,创建一个按钮,并在其点击事件中执行提交操作:
```java
Button submitBtn = findViewById(R.id.submit_button);
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 进行提交操作
int score = calculateScore(); // 计算得分
showScoreDialog(score); // 弹出对话框显示得分
}
});
```
2. 在 `showScoreDialog` 方法中,使用 `AlertDialog` 创建一个对话框,显示得分和成绩,并在用户关闭对话框后返回上一屏:
```java
private void showScoreDialog(int score) {
// 创建对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提交成功!"); // 设置标题
builder.setMessage("您的得分为:" + score + ",成绩为:" + getGrade(score)); // 设置消息
builder.setPositiveButton("返回", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 返回上一屏
finish();
}
});
builder.setCancelable(false); // 禁止用户通过点击对话框外部来关闭对话框
builder.show(); // 显示对话框
}
```
3. 在 `getGrade` 方法中,根据得分计算并返回成绩:
```java
private String getGrade(int score) {
if (score >= 90) {
return "优秀";
} else if (score >= 80) {
return "良好";
} else if (score >= 70) {
return "中等";
} else if (score >= 60) {
return "及格";
} else {
return "不及格";
}
}
```
注意:为了确保用户无法通过点击对话框外部来关闭对话框,我们在创建对话框时调用了 `setCancelable(false)` 方法。如果你希望用户可以通过点击对话框外部来关闭对话框,可以将其删除或者设置为 `true`。
阅读全文