父母子女旋转器

时间:2012-10-08 06:31:12

标签: java android spinner

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

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

我是从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

}`

1 个答案:

答案 0 :(得分:1)

您已为两个Spinners设置了相同的侦听器。无论何时在Spinner中做出选择,“子”Spinner都将被重置。只需删除任何设置“子”Spinner的OnItemSelectedListener

的代码

<击>

spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);

现在,“child”Spinner将保留您选择的选项。

相关问题