Java Android-findViewById(Resources.getSystem().getIdentifier(“日”、“id”、“Android”)不工作

Java Android-findViewById(Resources.getSystem().getIdentifier(“日”、“id”、“Android”)不工作,java,android,mobile,android-7.0-nougat,Java,Android,Mobile,Android 7.0 Nougat,我试图展示一个只有月和年的日期选择器 这是我的密码: Calendar todayDate = Calendar.getInstance(); android.app.DatePickerDialog pickerDialog = new android.app.DatePickerDialog( new ContextThemeWrapper(getContext(), android.R.style.Theme

我试图展示一个只有月和年的日期选择器

这是我的密码:

Calendar todayDate = Calendar.getInstance();

        android.app.DatePickerDialog pickerDialog = new android.app.DatePickerDialog(
                new ContextThemeWrapper(getContext(),
                android.R.style.Theme_Holo_Light_Dialog_NoActionBar),
                new android.app.DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
                        updateDobButtonWithValue(button, i, i1, i2, sdfdisplay, sdfvalue, valuechangecallback);
                    }
                },
                calendar.get(Calendar.YEAR),
                calendar.get(Calendar.MONTH),
                calendar.get(Calendar.DAY_OF_MONTH)
        );

        pickerDialog.getDatePicker().setMaxDate(todayDate.getTimeInMillis());
        pickerDialog.getDatePicker().findViewById(getResources().getIdentifier("day","id","android")).setVisibility(View.GONE);

        pickerDialog.show();
但问题是,当它到达这行代码时

pickerDialog.getDatePicker().findViewById(getResources().getIdentifier(“day”、“id”、“android”)).setVisibility(View.GONE)

它将返回一个错误

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.view.view.setVisibility(int)”

不幸的是,它适用于7.0以下的Android版本(棒棒糖、棉花糖),但不适用于Android 7.0(牛轧糖)


任何人都可以发现这个问题?谢谢

问题是要么没有像
[“day”,“id”,“android”]这样的标识符
,或者在你的日期选择器中没有这样的视图。我认为,如果你只是调试实际发生的事情,这两个视图都很容易测试。@M.Prokhorov,但它在下面的版本上工作,可能是因为牛轧糖的内部实现发生了变化,这在文档中有几个地方提到过。正如我所说的,这对你来说会更容易、更快u调试实际发生的事情,而不是在这里等待答案。首先检查
getIdentifier
是否返回零,然后如果不是这样,则检查picker是否确实包含该视图。@M.Prokhorov,好的,我会先检查它,然后会返回给您进行更新。TKST不会试图在运行时侵入其他人的小部件随着时间的推移,你可以实现你自己的日期选择器,它具有你想要的功能。Android附带的是开源的,因此你甚至可以复制他们的代码和资源作为起点。或者,如果其中一个满足你的需要,可以使用。拥有自己的代码可以消除你在这里遇到的问题,你可以在其他设备上也可以看到,制造商或ROM开发人员已经修补了
日期选择器