如何从通过布局xml中的条目添加的微调器中删除项目?

时间:2018-01-04 15:03:59

标签: android arrays xml spinner

我在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

1 个答案:

答案 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();