我有一个名为login_form的自定义布局xml文件,其根名为LinearLayout
的{{1}}。我正在尝试使用对话框显示此布局,但由于无法解析onCreateDialog中的方法login_form_root
,因此无法从EditText
获取值。
findViewById
错误在这里:-
“(ViewGroup)findViewById(R.id.login_form_root)”
那么我该如何膨胀自定义布局以获得EditText值?
答案 0 :(得分:2)
您应在充气时保存视图,然后再使用
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater layoutInflater = LayoutInflater.from(getActivity());
final View view = layoutInflater.inflate(R.layout.login_form, null);
builder.setView(view);
AlertDialog dialog = builder.create();
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
EditText userEmail = (EditText) view.findViewById(R.id.email_address);
String userEmailValue = userEmail.getText().toString();
}
});