4

Android に 2 つの異なるスピナーを実装したいのですが、スピナーには異なるデータ セットがあります

これは、すべての年齢範囲 (es 18-2019-21など)で定義された文字列配列を使用する年齢のスピナーです。

 <Spinner
        android:id="@+id/spAge"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:entries="@array/age_array" 
        tools:listitem="@android:layout/simple_spinner_item/>

そして、これは性別のスピナーで、MaleFemaleの 2 つのアイテムのみを表示します。

 <Spinner
       android:id="@+id/spSex"
       android:layout_width="match_parent"
       android:layout_height="35dp"
       android:entries="@array/sex_array"
       tools:listitem="@android:layout/simple_spinner_item />

選択されたアイテムごとに、my アクティビティは関連する選択されたアイテムの値を 2 つのオブジェクトに設定する必要があります。

String selectedAge;
String selectedItem;

私が見たサンプルには、さまざまなアイテムが設定され、選択されたアイテムに対するさまざまなアクションを持つ複数のスピナーが含まれておらず、問題の解決方法がわかりません。

4

3 に答える 3

9

選択したアイテムに対してさまざまなアクションを実行するには、以下のようにコードを記述します。

    spinner1.setOnItemSelectedListener(this);
    spinner2.setOnItemSelectedListener(this);
  public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
    // TODO Auto-generated method stub
    switch(arg0.getId()){
             case R.id.spAge :
                   //Your Action Here.
                   break;
             case R.id.spSex :
                   //Your Another Action Here.
             break;
            }
}
于 2012-12-05T04:49:04.780 に答える
2

これを試して

 ArrayAdapter<CharSequence> adapterAge; 
 ArrayAdapter<CharSequence> adapterSex;

 String[] AgeArr = {"18-20", "19-21"};
 String[] sexArr = {"male", "female"};

 Spinner ageDrp =(Spinner)findViewById(R.id.spAge);
 Spinner sex1Drp    =(Spinner)findViewById(R.id.spSex);

adapterAge =    new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,AgeArr);
adapterAge.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ageDrp.setAdapter(adapterAge);

adapterSex=     new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,sexArr);
adapterSex.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sexDrp.setAdapter(adapterSex);

String selectedAge  = ageDrp.getSelectedItem().toString();
String selectedSex  = sexDrp.getSelectedItem().toString();
System.out.println(selectedAge+" "+selectedSex);// check the output in logcat
于 2012-12-05T04:31:45.520 に答える