android从string数组中随机获得3个随机元素且删除已选择元素,然后弹出单选框选择一个元素
时间: 2024-02-29 15:51:22 浏览: 79
按照您的需求,您可以在从 `string-array` 中随机获得3个元素之后,将它们用于构建一个单选框对话框。然后,您可以使用 `AlertDialog.Builder` 类来创建一个单选框对话框,并在用户选择选项后执行相应的操作。以下是实现这个过程的示例代码:
```java
// 获取 string-array
String[] options = getResources().getStringArray(R.array.options);
// 创建一个 HashSet 来存储已选择的元素
Set<String> selectedOptions = new HashSet<>();
// 随机选择三个元素
while (selectedOptions.size() < 3) {
int randomIndex = new Random().nextInt(options.length);
String option = options[randomIndex];
selectedOptions.add(option);
}
// 将已选择的元素从 string-array 中删除
List<String> remainingOptions = new ArrayList<>();
for (String option : options) {
if (!selectedOptions.contains(option)) {
remainingOptions.add(option);
}
}
options = remainingOptions.toArray(new String[0]);
// 构建单选框对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("请选择一个元素");
builder.setSingleChoiceItems(options, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String selectedItem = options[i];
// 在这里执行您需要的操作,比如显示一个 Toast
Toast.makeText(MainActivity.this, "您选择了:" + selectedItem, Toast.LENGTH_SHORT).show();
dialogInterface.dismiss();
}
});
builder.show();
```
这段代码将从 `string-array` 中随机选择三个元素,并将其用于构建一个单选框对话框。当用户选择一个选项时,将会在屏幕上显示一个 `Toast` 来显示用户选择的选项。您可以根据需要进行修改以实现您的特定需求。
阅读全文