【发布时间】:2016-10-25 13:19:10
【问题描述】:
我正在处理带有一些文本框的警报对话框,其中需要验证文本框,如果它们正确,则弹出消息需要消失 这里的问题是,如果用户单击确定按钮(具有空值),弹出消息就会消失。 提前谢谢...
final AlertDialog.Builder builder = new AlertDialog.Builder(KmsActivity.this);
builder.setTitle("Enter OrderId,BillNo");
builder.setCancelable(false);
final EditText input1 = new EditText(KmsActivity.this);
final EditText input2 = new EditText(KmsActivity.this);
input1.setHint("Enter OrderId");
input2.setHint("Enter BillNo");
LinearLayout linearLayout = new LinearLayout(KmsActivity.this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
linearLayout.addView(input1);
linearLayout.addView(input2);
builder.setView(linearLayout);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface popupDialog, int which) {
String orderId = input1.getText().toString();
String billNo = input2.getText().toString();
Log.d(TAG_NAME, "order id:" + orderId);
Log.d(TAG_NAME, "bill no" + billNo);
if (orderId.length()<=0) {
Toast.makeText(KmsActivity.this, "Please enter Order ID", Toast.LENGTH_LONG).show();
} else if (billNo.length()<=0) {
Toast.makeText(KmsActivity.this, "Please enter Bill No", Toast.LENGTH_LONG).show();
} else {
tripObjects.get(0).setOrderId(orderId);
tripObjects.get(0).setBillNo(billNo);
tripObjects.get(0).saveInBackground();
Toast.makeText(KmsActivity.this, "values uploaded", Toast.LENGTH_LONG).show();
popupDialog.cancel();
}
}
});
builder.show();
【问题讨论】:
-
如果对话框在按下按钮时自动消失,那么您可以编写一个自定义对话框并覆盖点击监听器方法(不使用构建器)。
-
嗨,Wax,你能提供任何参考链接吗
-
链接?只需从 AlertDialog 扩展您的类并在构造函数中调用所需的基本方法 :) 您还可以设置自定义视图。不幸的是,我不记得方法名称。也许
setView。如果您不想在外部点击时关闭它,只需设置属性setCancelable(false)。
标签: java android xml android-studio