显示dialog,带错误信息,自己写的,作为我的Dialog的实例参考
private void showConfigDialog(int shopId, long interval, int error)
{
configView = getLayoutInflater().inflate(R.layout.configdlg, null);
TextView edtInterval = (TextView)configView.findViewById(R.id.edtInterval);
TextView edtShopId = ((TextView)configView.findViewById(R.id.edtShopId));
if(error != 0)
{
if((error & 0x1) != 0){
edtShopId.setText(String.valueOf(shopId));
edtShopId.setError("商户ID输入错误");
edtShopId.requestFocus();
}
if((error & 0x2) != 0){
edtInterval.setText(String.valueOf(interval));
edtInterval.setError("刷新间隔输入错误");
edtInterval.requestFocus();
}
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(configView);
builder.setTitle("参数配置");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int error = 0;
TextView edtInterval = (TextView)configView.findViewById(R.id.edtInterval);
/**输入的interval的单位为秒*/
long interval = Long.parseLong(edtInterval.getText().toString());
TextView edtShopId = (TextView)configView.findViewById(R.id.edtShopId);
int shopId = Integer.parseInt((edtShopId.getText().toString()));
if(shopId == 0) error = error|0x1;
if(interval <= 0) error = error|0x2;
if(error == 0)
{
config.setConfig(interval*1000, shopId);
if(refreshThread == null||refreshThread.isAlive() == false){
refreshThread = new RerefreshThread();
refreshThread.start();
}
}
else
{
showConfigDialog(shopId, interval, error);
}
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog dlg = builder.create();
dlg.show();
}