0

我的目标是将项目添加到动态微调器,我想这样做在对话框(非活动类),但我得到这样java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference的Android微调setAdapter()上的一个空对象引用异常

DisKapiList的例外是我的列表中包含用于添加到微调器的项目。

这是我的代码;

spBBKapiNo = (Spinner)dialog.findViewById(UIUtils.getResourceId(wrapper.getmActiviy(), "spBBKapiNo", "id")); 

disKapList = yapi.getNumaratajList(); 
    List <SpinnerObject> lables = getAllLabels(); 
    ArrayAdapter<SpinnerObject> dataAdapter = new ArrayAdapter<SpinnerObject>(wrapper.getmActiviy(),android.R.layout.simple_spinner_dropdown_item, lables); 
    dataAdapter.setDropDownViewResource(UIUtils.getResourceId(wrapper.getmActiviy(), "spBBKapiNo", "id")); 
    spBBKapiNo.setAdapter(dataAdapter); 

getAllLabels()方法是;

public List <SpinnerObject> getAllLabels(){ 
    List <SpinnerObject> labels = new ArrayList <SpinnerObject>(); 

    for (Numarataj object : disKapList) { 
     labels.add (new SpinnerObject (object.getId() , object.getKapiNo())); 
    } 

    return labels; 
} 

Spinner field in my layout;

<Spinner 
       android:id="@+id/spBBKapiNo" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:entries="@array/empty_array" 
       android:layout_marginLeft="30dp" /> 

编辑;

现在我可以在dilaog上看到我的SpinnerList,但是当我使用微调来查看其他选项时,程序使用Resources $ NotFoundException关闭:资源ID#0x7f0f0069类型#0x12无效。

+0

请发布您的布局代码和spBBKapiNo初始化。 – mol

回答

0

已解决!

List <SpinnerObject> lables = getAllLabels(); 
     ArrayAdapter<SpinnerObject> dataAdapter = new ArrayAdapter<SpinnerObject>(wrapper.getmActiviy(),android.R.layout.simple_spinner_dropdown_item, lables); 
     dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spBBKapiNo.setAdapter(dataAdapter); 
相关问题