java - 父子旋转器

标签 java android spinner

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

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

我从 onCreate()(onItemSelected(spinnercategory, 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

}`

最佳答案

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

<罢工>

spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);

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

关于java - 父子旋转器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776408/

相关文章:

java - Spring 安全与我自己的 table

java - 如何处理回收者 View 中的大量项目? (例如 1000 条评论)

java - 如何确定 Web 应用程序的生命周期结束?

android - 未能从库中提供结果

android - Media Player无法在Android中使用

android - 我如何从 JSON 中获取国家和州并将其填充到 Spinner 上

android - 在 Android Spinner 中设置自定义下拉箭头

java - 我需要帮助修复 java 代码所需的输出需要 Fraction@55f96302\n 是一个错误

java - 通过单击按钮创建变量

android - 在 Android 中获取以天、小时、分钟和秒为单位的日期和时差