行。在有人指出我这是重复的之前,我知道它已经被问过很多次了。但我不能采纳这些问题中给出的任何答案。我在一个函数中有一个警报对话框,在用户在警报对话框中做出选择后,它必须返回一个布尔值。我无法修改 onclick 中的布尔值,因为我有一个依赖于该函数返回值的二进制文件。任何人都可以给我关于如何做到这一点的任何想法吗?
public static boolean allow(){
AlertDialog.Builder builder = new AlertDialog.Builder(act);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("Title");
builder.setCancelable(false);
builder.setView(text);
builder.setPositiveButton("Allow", new OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
result = true;
if (checked) {
p.addapp(pkgname, applicationName, 1, byte);
}
dialog.dismiss();
act.finish();
}
});
builder.setNegativeButton("Deny", new OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
result = false;
if (checked) {
p.addapp(pkgname, applicationName, 2, byte);
}
dialog.dismiss();
act.finish();
}
});
AlertDialog dlg = builder.create();
dlg.show();
}
return result;
}
到目前为止,我已经尝试异步执行此操作,为对话框创建一个新活动并使用 startActivityForResult() 实例化它。还尝试放置 wait(),notify() 但不起作用。我希望我能尽快得到解决方案。