java - 无法弄清楚为什么我在 EditText 上收到此 NullPointerException

标签 java android nullpointerexception android-edittext datepickerdialog

我正在使用 Android 的 DatePicker 从日历中选择特定日期。问题是我无法在 EditText 中显示我从日历中选择的日期。

这将是我的DatePickerFragment:

public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

 private EditText a;
 private String date;

 @Override
 public Dialog onCreateDialog(Bundle savedInstanceState) {
  // Use the current date as the default date in the picker
  final Calendar c = Calendar.getInstance();
  int year = c.get(Calendar.YEAR);
  int month = c.get(Calendar.MONTH);
  int day = c.get(Calendar.DAY_OF_MONTH);

  a.findViewById(R.id.in_date);
  date = "";
  date = Integer.toString(day) + "/" + Integer.toString(month) + "/" + Integer.toString(year);
  a.setText(date);

  // Create a new instance of DatePickerDialog and return it
  return new DatePickerDialog(getActivity(), this, year, month, day);
 }
}

这是我正在使用的 EditText 的 xml:

< EditText
android: id = "@+id/in_date"
android: layout_width = "175dp"
android: layout_height = "wrap_content"
android: hint = "@string/choose_date"
android: importantForAutofill = "no"
android: inputType = "date|text"
android: keyboardNavigationCluster = "false" / >

每次尝试在 EditText 变量 a 上使用 .setText(date) 时,都会收到 NullPointerException 。这不是应该初始化的方式吗?

最佳答案

您没有初始化变量a,这意味着它是null。您得到 NullPointer 是因为它在后台执行 (null).setText(date);

EditText a = (EditText) findViewById(R.id.in_date);

关于java - 无法弄清楚为什么我在 EditText 上收到此 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59186400/

相关文章:

java - Android 模拟器错误,控制台错误日志重复错误

java - Spring无法获取JDBC连接

android - 如何使用 RecyclerView.scrollToPosition() 将位置移动到当前 View 的顶部?

Android string.xml 颜色

java - 更改 ActionEvent 中 JLabel 的文本

java - "list.clear()"上的 NullPointerException

java - 在 java 中骑乘和使用 equals 方法时遇到问题

Java线程困惑,为什么输出没有顺序?

java - 如何使用Java上传图像Url上传到Fire Storage并同时将其保存在fireStore中

java - 添加点和平移后 AChartEngine 崩溃