2013-08-12 3 views
1

Кажется, что у меня проблема с объявлением моего DatePicker. нулевой указатель находится в:nullPointerException on Datepicker

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> 

и шоу ошибка:

08-12 01:06:49.790: E/AndroidRuntime(2410): FATAL EXCEPTION: main 
08-12 01:06:49.790: E/AndroidRuntime(2410): java.lang.RuntimeException: Unable to start activity ComponentInfo{xx.xx.cc/ee.rr.name_app.XActivity}: java.lang.NullPointerException 

любая идея?

+0

Я реплицировать свой код на своем собственном в новом anrdoid приложения и не набрасывает нулевой указатель. Единственное, что я изменил (должен был предположить) - добавить типы перед месяцем и днем ​​(int). –

ответ

3

Это похоже на то, что ваш Datepicker находится в другом XML-файле, чем в вашем текущем действии. Вы должны либо переместить DatePicker в XML-активности, которую вы используете или завышать другой файл и возьмите сборщик оттуда, как это:

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

Ваше право, я использую в другом специальном диалоге xml спасибо. – Armanoide