我的 AlertDialog 设置与此链接中描述的设置几乎相同:https ://stackoverflow.com/a/4697761/2593088
我用它从 SD 卡中提取照片,所以我在列表中拥有照片和旁边的名称。如果我一次只需要拉一张照片,它会很好,但如果我可以选择所有照片并一次将它们全部拉出来会更好。问题是一旦单击对话框就会关闭。我已经搜索了解决这个问题的方法,但我发现的每种方法都不适用于我需要的东西。一种方法是覆盖对话框 OnShow 监听器中的 onClick 监听器,但我只能弄清楚如何覆盖正/负/中性按钮,而不是列表项。在构建对话框时,我也能够在没有使用 setMultiChoiceItems 的图标的情况下使其工作,所以如果有一种简单的方法可以在此时添加图标也可以。一世'
任何帮助表示赞赏。
编辑:这是我所拥有的,除了没有图标外,它工作得很好。
dialog = builder.setAdapter(adapter, null).setMultiChoiceItems(mFileList, null, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1,
boolean arg2) {
String selectedFile = mFileList[arg1];
if(selectedFile.equals("Up One Folder")) selectedFile = "..";
String mChosenFile = tempDir + "/" + selectedFile;
File f = new File(mChosenFile);
if(f.isDirectory()) {
// it is a directory, clear all selections and go to the next directory
selectedImages.clear();
dialog.dismiss();
loadFileList(mChosenFile);
getFiles(false);
} else {
if(arg2) {
selectedImages.add(tempDir + "/" + selectedFile);
}
}
}
})
我希望同时使用 setAdapter 和 setMultiChoiceItems 会起作用,但是如果设置了多选项目,则设置适配器不起作用。不幸的是 setMultiChoiceItems 没有使用适配器的构造函数。