2017-04-26 61 views
-2

良好的一天,我正在使用的內部對話微調和它產生微調對話框:NullPointerException異常

Error msg- ` java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference at com.example.amw51.ygeianapp.Activity.AwardActivity.showAddItem(AwardActivity.java:259) 

Java代碼

dialog.setContentView(R.layout.job_add_detials_layout); 
Spinner jobSpinner = (Spinner)findViewById(R.id.select_job_spinner); 
jobSpinner = (Spinner) findViewById(R.id.select_job_spinner); 
       List<String> list = new ArrayList<String>(); 
       list.add("Android"); 
       list.add("Java"); 
       list.add("Spinner Data"); 
       list.add("Spinner Adapter"); 
       list.add("Spinner Example"); 

       ArrayAdapter<String> dataAdapter = new ArrayAdapter<String> 
         (this, android.R.layout.simple_spinner_item,list); 

       dataAdapter.setDropDownViewResource 
         (android.R.layout.simple_spinner_dropdown_item); 

       jobSpinner.setAdapter(dataAdapter); 
dialog.show();    

XML佈局

<Spinner 
     android:id="@+id/select_job_spinner" 
     android:layout_marginTop="15dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="15dp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:textColor="@color/colorPrimary"/> 

我已經找遍但沒有找到適當的解決方案。 `

+0

如果微調是在對話UI使用'dialog.findViewById(R.id.select_job_spinner)' – Raghunandan

+0

我dialog.findViewById更新,但我得到同樣的錯誤 –

+0

可能屬於不同的佈局。應該不難解決它,你應該找到自己計算器還是 – Raghunandan

回答

3

你是不是從對話框本身檢索Spinner。你應該執行dialog.findViewById()代替普通findViewById()

dialog.setContentView(R.layout.job_add_detials_layout); 
dialog.create(); 
Spinner jobSpinner = (Spinner) dialog.findViewById(R.id.select_job_spinner); 
// init spinner 
dialog.show(); 
+0

同樣的錯誤 –

+0

這很奇怪的例子很多,但嘗試後dialog.show'執行'findViewById'()'。 – azizbekian