java - DialogFragment 中的 EditText 始终返回空字符串

标签 java android android-edittext android-dialogfragment

我已经在对话框中实现了表单,当单击肯定按钮时,我会在数据库中创建新对象。我已经为 EditText 创建了全局变量,但仍然不起作用。在我想从它们获取文本值的地方,我总是得到空字符串。

这里是代码:

EditText 名称,描述;

@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();
    view = inflater.inflate(R.layout.new_dialog, null);

    name = (EditText) view.findViewById(R.id.workout_name);
    desc = (EditText) view.findViewById(R.id.workout_description);


    builder.setView(inflater.inflate(R.layout.new_dialog, null)).setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            MyDbHelper helper = new MyDbHelper (getActivity());
            MyObj w = new MyObj ();

            w.setName(name.getText().toString(););
            w.setDescription(desc.getText().toString());
            w.setLevel(1);

            long id =  helper.createWorkout(w);
            Toast.makeText(getActivity(), id+"", Toast.LENGTH_LONG).show();

            callback.onPositiveButtonClick();
        }
    }).setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

            callback.onNegativeButtonClick();

        }
    });

    return builder.create();
}

请问有什么想法吗?

最佳答案

我偶然发现了同样的问题。您可以使用 onClick 提供的 getDialog() 来获取对话框中的 View 。

((EditText) getDialog().findViewById(R.id.your_editText_ID)).getText().toString()

关于java - DialogFragment 中的 EditText 始终返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40448676/

相关文章:

java - 如何正确可视化 Prefuse (Java) 表?

android - Android 上的 OutOfMemory 异常

android - 如何编写一个php服务,定期从android上传新的sqlite数据到mysql

android - NativeScript 8.0.4 Android 应用程序图标不会更改默认设置

android - 如何在编辑文本android上创建凹面 View

java - 从 EditText Android 获取整数值

android 编辑文本背景

java - 为什么 spring mvc 在自己的 session 中存储对象

java - Pattern.quote 方法有什么用?

java - Java 和 MySQL 中 boolean 变量的位标志