我在strings.xml中有这个数组:
<string-array name="lst_addressTypes">
<item>FISCAL</item>
<item>NAP</item>
<item>SUCURSAL</item>
<item>ALMACEN</item>
<item>OFICINA</item>
<item>OTRO</item>
</string-array>
我在我的布局XML中有这个Spinner:
<Spinner
android:id="@+id/cboTipoDireccion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/lst_addressTypes" />
我想以编程方式删除一些项目。
我尝试这样做:
spinnerObject.removeViewAt(0)
但是这引发了一个`InvalidOperationException
答案 0 :(得分:2)
您可以为活动中的条目添加String[]
或ArrayList<String>
。
添加:
List<String> entriesList = new ArrayList<>();
// add items into spinner dynamically
public void addItemsOnSpinner() {
String[] entries = getResources().getStringArray(R.array.lst_addressTypes);
entriesList = new ArrayList<String>(Arrays.asList(entries));
Spinner spinner = (Spinner) findViewById(R.id.cboTipoDireccion);
ArrayAdapter spinnerAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, entriesList);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAdapter);
}
<强>卸下:强>
entriesList.remove(0);
spinnerArrayAdapter.notifyDataSetChanged();