Java 日期选择器上的nullPointerException
似乎我对我的约会选择者的声明有问题。 空指针位于: pickerDate.init(年、月、日、空) 我的代码: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
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);