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