这个问题已经在这里有一个答案:
- Android的警告对话框无法找到视图 4答案
- Android的不能在对话获得的EditText的getText()。的toString() 1回答
就像标题说我怎么能得到从文本中的EditText这是一个自定义对话框里面发现了什么?
这是从我的dialogfragment的onCreateDialog方法:
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
final SharedPreferences.Editor editor = sharedPref.edit();
builder.setView(inflater.inflate(R.layout.name_dialog, null))
.setPositiveButton(R.string.name_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
EditText nameEditText = (EditText) getActivity().findViewById(R.id.name_text_view);
editor.putString(getString(R.string.name_key), nameEditText.getText().toString());
editor.commit();
}
})
.setNegativeButton(R.string.name_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
NameDialogFragment.this.getDialog().cancel();
}
});
return builder.create();
}
我无法得到它的工作..我写的东西在的EditText然后我按OK,它只是崩溃,并让我在这一行空指针错误:
editor.putString(getString(R.string.name_key), nameEditText.getText().toString());