我有AlertDialog包含两个按钮确定并取消。
我如何检查用户是否按下确定并执行某些操作
声明字符串
private String newtext = "";
AlertDialog框代码
AlertDialog.Builder builder = new AlertDialog.Builder(PrintDemo.this);
builder.setTitle("Title");
// Set up the input
final EditText input = new EditText(PrintDemo.this);
// Specify the type of input expected; this, for example, sets the input as a password, and will mask the text
input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
builder.setView(input);
// Set up the buttons
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
newtext = input.getText().toString();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
感谢您的帮助。
答案 0 :(得分:1)
正在您OnClickListener
的正面按钮。
当用户点击您标记为“OK”的按钮时,将会执行侦听器中的onClick
方法。
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// do all your stuff here
}
});
同样可以检测他们是否点击了“取消”。
听起来你已经习惯了一个阻止对话框,当你显示它时,它会返回一个int
,然后你需要检查它是否正常或取消。这不是Android对话框的工作方式。您需要检查的对话框中没有返回值,所有操作都在OnClickListener
个中进行。思考方面有点转变,但如果你试一试,你就会习惯它。
答案 1 :(得分:1)
当用户按下确定
时,您可以显示Toast
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
newtext = input.getText().toString();
Toast.makeText(HomeActivity.this,"OK BUTTON PRESSED",Toast.LENGTH_LONG).show();
}
});