2012-10-08 210 views
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 

}` 

回答

1

您已将两个Spinners设置为相同的侦听器。无论何时您在Spinner中进行选择,“小孩”Spinner都将被重置。只需删除,设置了“孩子”微调的OnItemSelectedListener任何代码:

            
 
  
             spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);
            
 

现在的“孩子”微调将保留您所选择的选择。

+0

非常感谢你,你是对的。 :)它现在工作正常。 – ADAM