Java 编辑文本';s text即使在设置文本时也返回空字符串

Java 编辑文本';s text即使在设置文本时也返回空字符串,java,android,Java,Android,我想在警报对话框中设置基本信息,因此我创建了一个对话框,并使用EditText.getText().toString().trim()从编辑文本中获取值。但是,即使在警报对话框中输入字符串并单击“正”按钮后,日志也会显示字符串为空。这真的很奇怪,我自己也找不到问题 @Override public void onBindParentViewHolder(TodoListParentViewHolder todoListParentViewHolder, int i, Object o)

我想在警报对话框中设置基本信息,因此我创建了一个对话框,并使用EditText.getText().toString().trim()从编辑文本中获取值。但是,即使在警报对话框中输入字符串并单击“正”按钮后,日志也会显示字符串为空。这真的很奇怪,我自己也找不到问题

@Override
    public void onBindParentViewHolder(TodoListParentViewHolder todoListParentViewHolder, int i, Object o) {
        ToDoParent toDoParent = (ToDoParent) o;
        //todoListParentViewHolder.mTextView.setText(toDoParent.getTitle());
        todoListParentViewHolder.mAddButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(mContext);
                dialogBuilder.setView(R.layout.item_alert_dialog_to_do);
                dialogBuilder.setTitle("添加ToDo");
                dialogBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        LayoutInflater layoutInflater = LayoutInflater.from(mContext);
                        View dialogView = layoutInflater.inflate(R.layout.item_alert_dialog_to_do,null);
                        EditText toDoTitle = (EditText) dialogView.findViewById(R.id.alert_dialog_edit_text_todo_name);
                        CalendarView calendarView = (CalendarView) dialogView.findViewById(R.id.alert_dialog_calendar_todo_deadline);
                        final Calendar calendar = Calendar.getInstance();
                        calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
                            @Override
                            public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                                calendar.set(year,month,dayOfMonth);
                                Log.d("Date", CalendarStringConverter.fromCalenderToString(calendar));
                            }
                        });

                        EditText estimatedTime = (EditText) dialogView.findViewById(R.id.alert_dialog_estimated_time);
                        estimatedTime.setText("100");

                            ToDo toDo = new ToDo();
                            toDo.setToDoName(toDoTitle.getText().toString().trim());
                            toDo.setDeadline(calendar);
                            toDo.setDone(false);
                            toDo.setEstimatedTime(Integer.parseInt(estimatedTime.getText().toString().trim()));
                            toDo.setPlanName("haha"); 
                            Log.d("Todo Name",toDo.getToDoName());
                            //call database to store the data
                            MyDatabase db = MyDatabase.getInstance(mContext);
                            db.addTodo(toDo);
                            notifyDataSetChanged();

                        dialog.dismiss();
                    }
                });
                AlertDialog alertDialog = dialogBuilder.create();
                alertDialog.show();

            }
        });

    }

为什么要在代码中看到的onClick方法中查找editText视图,然后初始化为otitle editText,但在
ToDo.setName()之前未设置任何文本。在
toDo.setName()
methodLong story()中设置或获取设置之前的任何文本…也许这就是问题的原因,但有什么区别?哦,我有点理解。我在初始化edittext之前设置了文本,所以在这种情况下,编辑文本将返回空字符串,谢谢大家!为什么要在代码中看到的onClick方法中查找editText视图,然后初始化为otitle editText,但在
ToDo.setName()之前未设置任何文本。在
toDo.setName()
methodLong story()中设置或获取设置之前的任何文本…也许这就是问题的原因,但有什么区别?哦,我有点理解。我在初始化edittext之前设置了文本,所以在这种情况下,编辑文本将返回空字符串,谢谢大家!