private boolean popup(String title, String message, int resID) {
final Dialog dialog = new Dialog(PRO.this);
dialog.setContentView(resID == 0 ? R.layout.dialog : resID);
dialog.setTitle(title);
final Object[] result = {false};
Button butonOk = (Button)dialog.findViewById(R.id.dialog_ok);
Button butonCancel = (Button)dialog.findViewById(R.id.dialog_cancel);
TextView text = (TextView)dialog.findViewById(R.id.dialog_text);
text.setText(message);
butonOk.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
result[0] = true;
dialog.dismiss();
}
});
butonCancel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.setCancelable(false);
dialog.show();
if((Boolean)result[0]){
PRO.log("OK");
}else{
PRO.log("FALSE");
}
return (Boolean)result[0];
}
当我运行我的应用程序时,我会正常显示我的对话框,但是在打开对话框时直接看到" FALSE" 所以我希望在用户输入时我显示消息。
那么也许dialog.show()
然后阻止线程?
答案 0 :(得分:1)
你必须将你的评论/动作放在OnClick方法中,如
butonOk.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if((Boolean)result[0]){
PRO.log("OK");
}else{
PRO.log("FALSE");
}
dialog.dismiss();
}
});