在Android开发中,AlertDialog常用于处理用户的登录等。那么如何获取由 AlertDialog 生成的对话框中EditText的文本内容呢?
其实Alertdialog弹出的Activity 可以认为是默认的Activity的子Activity。不能直接使用findViewById()来获取。强行使用会提示一个空指针的错误,我们只需要加上 Alertdialog弹出的Activity.findViewById()就可以获取我们想要的EditText对象了。
关键代码如下:
/** Activity01.java **/
public String strUsername = "";
LayoutInflater factory = LayoutInflater.from(Activity01.this);
//得到自定义对话框
final View DialogView = factory.inflate(R.layout.dialog, null);
//创建对话框
AlertDialog dlg = new AlertDialog.Builder(Activity01.this)
.setTitle("登录框")
.setView(DialogView)//设置自定义对话框的样式
.setPositiveButton("确定", //设置"确定"按钮
new DialogInterface.OnClickListener