Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日期选择器上的nullPointerException_Java_Android_Datepicker - Fatal编程技术网

Java 日期选择器上的nullPointerException

Java 日期选择器上的nullPointerException,java,android,datepicker,Java,Android,Datepicker,似乎我对我的约会选择者的声明有问题。 空指针位于: pickerDate.init(年、月、日、空) 我的代码: private static DatePicker pickerDate; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); cc = this; requestWindowFe

似乎我对我的约会选择者的声明有问题。 空指针位于:

pickerDate.init(年、月、日、空)

我的代码:

private static DatePicker pickerDate;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        cc = this;
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_reservation);
        Button btn_add = (Button) findViewById(R.id.btn_add_reservation);
        pickerDate = (DatePicker) findViewById(R.id.datePickerId);
        final Calendar c = Calendar.getInstance();
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DAY_OF_MONTH);
        pickerDate.init(0, 0, 0, null);
//      pickerDate.init(year, month, day, null);
        btn_add.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) { open_a_form_page(); } });
    }
}
我的Xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="50dp" >

<DatePicker
        android:id="@+id/datePickerId"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" />


</RelativeLayout>

有什么想法吗?

这似乎是因为日期选择器位于与当前活动不同的xml文件中。您必须将日期选择器移动到您正在使用的活动的xml中,或者将另一个文件膨胀,然后像这样从那里获取选择器:

View theInflatedView = getLayoutInflater().inflate(R.layout.otherxmlfile, null);
DatePicker pickerDate = (DatePicker) theInflatedView.findViewById(R.id.datePickerId);

我在一个新的anrdoid应用程序中自己复制了你的代码,它不会抛出空指针。我唯一改变(必须假设)的是在年、月、日(int)前面添加类型。
View theInflatedView = getLayoutInflater().inflate(R.layout.otherxmlfile, null);
DatePicker pickerDate = (DatePicker) theInflatedView.findViewById(R.id.datePickerId);