Java 以编程方式创建的微调器不';t打开

Java 以编程方式创建的微调器不';t打开,java,android,android-spinner,programmatically-created,Java,Android,Android Spinner,Programmatically Created,我以编程方式创建了一个微调器: ArrayAdapter<ServiceObject> medicineArrayAdapter = new ArrayAdapter<ServiceObject>(MedicineActivity.this, android.R.layout.simple_spinner_dropdown_item, medicines); medicineArrayAdapter.setDropDownViewResource(android.R.la

我以编程方式创建了一个微调器:

ArrayAdapter<ServiceObject> medicineArrayAdapter = new ArrayAdapter<ServiceObject>(MedicineActivity.this, android.R.layout.simple_spinner_dropdown_item, medicines);
medicineArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Spinner spinner = new Spinner(MedicineActivity.this, getSpinnerAttrs(), 0);
spinner.setAdapter(medicineArrayAdapter);
spinner.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));

spinner.setVisibility(View.VISIBLE);
buttonLayout.addView(spinner, index);
fragment_medicine中的旋转器是:

<Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:drawable/btn_dropdown"
    android:spinnerMode="dropdown"
    android:visibility="invisible"/>
    />

/>

它正常显示,但当我点击它时,它不会打开

最后我用另一种方式做了

我只是以编程方式添加了属性,而没有从xml文件中读取它们:

spinner.setBackgroundResource(android.R.drawable.btn_dropdown);

它工作得很好。

你能检查一下药物数组是否为空吗?@tasomaniac它已满,我可以从微调器的选定项中看到它
spinner.setBackgroundResource(android.R.drawable.btn_dropdown);