📅  最后修改于: 2023-12-03 15:24:06.918000             🧑  作者: Mango
在 Android 开发中,我们经常需要使用对话框来展示一些内容。而 AlertDialog 是 Android 自带的一个对话框,它提供了许多方法来自定义对话框的样式和内容。
有时候我们需要在 AlertDialog 中展示一个列表,这时就需要使用 ListView。
要向 AlertDialog 中添加 ListView,我们需要先创建一个 ListView 对象,然后把它添加到 AlertDialog 的布局中。
// 创建 ListView 对象
ListView listView = new ListView(context);
// 创建 Adapter 对象
ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, data);
// 把 Adapter 设置给 ListView
listView.setAdapter(adapter);
// 把 ListView 添加到 AlertDialog 的布局中
builder.setView(listView);
在上面的代码中,我们首先创建了一个 ListView 对象,然后创建了一个 ArrayAdapter 对象用来管理数据,接着把 Adapter 设置给 ListView,最后把 ListView 添加到 AlertDialog 的布局中。
public void showAlertDialogWithListView(Context context, String title, String[] data) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(title);
// 创建 ListView 对象
ListView listView = new ListView(context);
// 创建 Adapter 对象
ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, data);
// 把 Adapter 设置给 ListView
listView.setAdapter(adapter);
// 把 ListView 添加到 AlertDialog 的布局中
builder.setView(listView);
builder.setPositiveButton("确定", (dialog, which) -> {
// 点击确定按钮后的逻辑处理
});
builder.setNegativeButton("取消", (dialog, which) -> {
// 点击取消按钮后的逻辑处理
});
builder.show();
}
在上面的代码中,我们定义了一个方法,在该方法中创建了一个 AlertDialog,并添加了一个 ListView。最后通过 show() 方法来显示 AlertDialog。
在 Android 的 AlertDialog 中添加 ListView,只需要创建 ListView、创建 Adapter 并设置给 ListView,最后把 ListView 添加到 AlertDialog 的布局中。
详细代码和注释如下:
// 创建 ListView 对象
ListView listView = new ListView(context);
// 创建 Adapter 对象
ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, data);
// 把 Adapter 设置给 ListView
listView.setAdapter(adapter);
// 把 ListView 添加到 AlertDialog 的布局中
builder.setView(listView);