2016-04-28 67 views
-1

如何显示微调器中的选定项目微调控制器B中的显示?在微调器中获取值显示

<string-array name="type_report"> 
    <item>Emergency</item> 
    <item>Sponsor</item> 
    <item>House</item> 
</string-array> 

两个旋转器使用相同的“type_report”..spinner A和B将显示在第一个位置的紧急情况。我的问题是,当我在家里的活动飞旋一个选择“豪斯医生”,然后在其他活动微调B就在第一个位置显示“豪斯医生” ..

微调名单

<item>Emergency</item>  
    <item>Sponsor</item>  
    <item>House</item> 

后选择“
微调B文件清单将显示

<item>House</item> 
<item>Emergency</item> 
<item>Sponsor</item> 
+0

表现出一定的代码/ –

+0

使用的setSelected方法,例如第一个活动然后找到该位置并将其传递给第二个活动并使用setselected(position)方法设置默认微调器项目 – USKMobility

+0

在微调器A上使用'setOnItemSelectedListener'并在A被更改时更改B –

回答

1
spinnerA.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    /** 
    * Called when a new item is selected (in the Spinner) 
    */ 
    public void onItemSelected(AdapterView<?> parent, View view, 
       int pos, long id) { 
     Intent intent=new Intent(this,SecondaActivity.class); 
     intent.putExtra("index",pos); 
     startActivity(intent); 


     } 

     public void onNothingSelected(AdapterView<?> parent) { 
      // Do nothing, just another required interface callback 
     } 

}); 

现在您的secondActivity你必须把所选择的指数的项目在第一位置,这样

Intent mIntent = getIntent(); 
int pos= mIntent.getIntExtra("index", 0); 
String valueAtIndex = yourArray[pos]; 
    for(int i = pos; i > 0; i--){ 
    yourArray[i] = yourArray[i-1]; 
    } 
    yourArray[0] = valueAtIndex; 
//now set this array to second Spinner 
    ArrayAdapter spinnerBArrayAdapter = new ArrayAdapter(this, 
    android.R.layout.simple_spinner_dropdown_item, 
    yourArray); 
    spinnerB.setAdapter(spinnerArrayAdapter); 

测试,如果房子是在选择的工作代码

+0

实际上,当我在微调器A中选择项目后,我将其他活动包含在微调器B中,因此我希望显示项目在微调器B的第一个位置选择。 –

+0

对不起,您的意思是'yourArray'..?那个字符串数组“type_report”? –

+0

是的,它是你的字符串数组。 –