0

我创建了一个类,并在布局中添加了两个微调器。

目标:如果您从第一个微调器中选择任何项目,它将更改第二个微调器的内容。

我从onCreate()(onItemSelected(spinnercategoryl, spinnerEnterprisel, x, i);). 问题是,当我从第一个中选择任何项目时,它会更改第二个的内容,但是如果我需要从第二个中选择任何项目,那么它将不会显示为选定项目。

public void onItemSelected(AdapterView<?> parent, View view, int pos,
        long id) {
    // TODO Auto-generated method stub
    Spinner spinnerEnterprisel = (Spinner) findViewById(R.id.spinner_enterprise_folding_inserter);
    Spinner spinnercategoryl = (Spinner) findViewById(R.id.spinner_categories);

    switch (spinnercategoryl.getSelectedItemPosition()) {
    case 0:
        ArrayAdapter<CharSequence> adapterDatal = ArrayAdapter
                .createFromResource(this,
                        R.array.enterprise_folding_inserter,
                        android.R.layout.simple_spinner_item);
        adapterDatal
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinnerEnterprisel.setAdapter(adapterDatal);

        break;
    case 1:
        ArrayAdapter<CharSequence> adapterData1 = ArrayAdapter
                .createFromResource(this, R.array.enterprise_sorters,
                        android.R.layout.simple_spinner_item);
        adapterData1
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinnerEnterprisel.setAdapter(adapterData1);

        break;

    case 2:
        ArrayAdapter<CharSequence> adapterData2 = ArrayAdapter
                .createFromResource(this, R.array.Softwares,
                        android.R.layout.simple_spinner_item);
        adapterData2
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinnerEnterprisel.setAdapter(adapterData2);

        break;
    case 3:
        ArrayAdapter<CharSequence> adapterData3 = ArrayAdapter
                .createFromResource(this, R.array.workflow,
                        android.R.layout.simple_spinner_item);
        adapterData3
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinnerEnterprisel.setAdapter(adapterData3);

        break;
    }

    spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);
    spinnercategoryl.setOnItemSelectedListener(enterprise.this);
    // Spinner spinnerEnterprisel1 = (Spinner)
    // findViewById(R.id.spinner_enterprise_folding_inserter);
}

public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub

}`
4

1 回答 1

1

您为两个 Spinner 设置了相同的侦听器。每当您在任一 Spinner 中做出选择时,“子”Spinner 都会被重置。只需删除设置“子”微调器的任何代码OnItemSelectedListener

spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);

现在“子”微调器将保留您选择的选项。

于 2012-10-08T17:25:06.587 回答