gpt4 book ai didi

java - 如何从对话框内的edittext获取文本

转载 作者:行者123 更新时间:2023-12-01 22:41:46 27 4
gpt4 key购买 nike

就像标题所说,如何从自定义对话框中的 EditText 中获取文本?

这是我的对话框 fragment 中的 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();
}

我无法让它工作..我在编辑文本中写了一些东西,然后按“确定”,它就崩溃了,并在这一行给了我一个空指针错误:

editor.putString(getString(R.string.name_key), nameEditText.getText().toString());

最佳答案

您正在错误的 View 中查找 EditText。它不是 Activity 的一部分,而是对话框的一部分。因此,请检查 View 对话框:

 Dialog dialogView = dialog.getDialog();
EditText paymentEt = (EditText) dialogView.findViewById(R.id.edittext_payment);

关于java - 如何从对话框内的edittext获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26018709/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com