[英]alert dialog edit text returns no value
我有一个带有xml布局的警报对话框,并且它具有编辑文本。 当我写一些文本并按SAVE时,editText to String返回null。 这是我的代码-
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
dialogView = inflater.inflate(R.layout.dialog_layout, null);
alertDialogBuilder.setView(dialogView);
alertDialogBuilder.setView(R.layout.dialog_layout);
// set dialog message
alertDialogBuilder
.setCancelable(false)
.setPositiveButton("SAVE",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
EditText userInput = (EditText) dialogView.findViewById(R.id.editText);
dbUtils.insertCSVFileName(userInput.getText().toString());
Log.d("hi","vaqlue of edittext" + userInput.getText().toString()); //gives me null
}
})
我的编辑文本出现在dialog_layout.xml
。 为什么这个为空?
您的问题是您两次设置了布局:
alertDialogBuilder.setView(dialogView);
alertDialogBuilder.setView(R.layout.dialog_layout);
只需使用上述方法之一进行操作,然后删除其中一种即可。
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
dialogView = inflater.inflate(R.layout.dialog_layout, null);
alertDialogBuilder.setView(dialogView);
// set dialog message
alertDialogBuilder
.setCancelable(false)
.setPositiveButton("SAVE",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
EditText userInput = (EditText) dialogView.findViewById(R.id.editText);
dbUtils.insertCSVFileName(userInput.getText().toString());
Log.d("hi","vaqlue of edittext" + userInput.getText().toString()); //gives me null
}
})
仅使用两种方法中的一种,您同时使用了两种方法:
alertDialogBuilder.setView(dialogView); //good practice
alertDialogBuilder.setView(R.layout.dialog_layout);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.