您的位置:首页 > 移动开发 > Android开发

android alertDialog 点击按钮后保留dialog

2012-11-01 15:31 337 查看
登录框实例:

android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(ctx);

builder.setTitle(Constants.tipTitle);

builder.setView(loginView);

builder.setPositiveButton("登录", null);

builder.setNegativeButton("取消", null);

final android.app.AlertDialog alert = builder.create();

alert.show();

Button theButton = alert.getButton(DialogInterface.BUTTON_POSITIVE);

theButton.setOnClickListener(new View.OnClickListener(){

@Override

public void onClick(View v)

{

TextView untv = (TextView)loginView.findViewById(R.id.userName);

if(untv.getText().length()==0){

Toast.makeText(ctx, "请输入用户名", Constants.Toast.SHORT).show();

return;

}

TextView password = (TextView)loginView.findViewById(R.id.password);

if(password.getText().length()==0){

Toast.makeText(ctx, "请输入密码", Constants.Toast.SHORT).show();

return;

}

alert.dismiss();

}

});

简要分析:

原先由builder.setPositiveButton("登录", listener); builder.setNegativeButton("取消", listener); 实现,点击后dialog会自动消失。

但在验证信息时,需要验证dialog中的表单字段,若验证不通过,就应该提示用户,同时保留dialog供用户纠正。

优化后的实现则,设置为null,在dialog呈现后,获取其中的按钮,就像普通按钮一样进行事件的绑定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: