Java 在android中设置多个微调器

Java 在android中设置多个微调器,java,android,android-arrayadapter,android-spinner,Java,Android,Android Arrayadapter,Android Spinner,我的项目中有2个微调器,到目前为止只有一个微调器工作!我正在尝试使用2个微调器,当选择该微调器时,可以更改imageview中的图像!第一个微调器从strings.xml中的数组获取数据,并且希望第二个数组也这样做,并像第一个数组那样更新imageview!经过反复试验后,我想不出该怎么做,于是将代码编辑回了一个微调器 public class SpinnerRes extends AppCompatActivity { @Override protected void onC

我的项目中有2个微调器,到目前为止只有一个微调器工作!我正在尝试使用2个微调器,当选择该微调器时,可以更改imageview中的图像!第一个微调器从strings.xml中的数组获取数据,并且希望第二个数组也这样做,并像第一个数组那样更新imageview!经过反复试验后,我想不出该怎么做,于是将代码编辑回了一个微调器

public class SpinnerRes extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final String[] spstr = getResources().getStringArray(R.array.spinnervalue);
        final Spinner sp = (Spinner)findViewById(R.id.spinner1);

        final ArrayAdapter<String> ar = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,spstr);
        sp.setAdapter(ar);

        sp.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                                       int arg2, long arg3) {
                final ImageView im = (ImageView)findViewById(R.id.imageView1);
                String s=((TextView)arg1).getText().toString();
                if(s.equals("A"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.a));
                if(s.equals("A6"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.a6));
                if(s.equals("A7"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.a7));
                if(s.equals("Am"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.am));

                if(s.equals("Am6"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.am6));
                if(s.equals("Am7"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.am7));
                if(s.equals("Amaj7"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.amaj7));
                if(s.equals("img8"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img4));

                if(s.equals("img9"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img1));
                if(s.equals("img10"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img2));
                if(s.equals("img11"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img3));
                if(s.equals("img12"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img4));

                if(s.equals("img13"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img1));
                if(s.equals("img14"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img2));
                if(s.equals("img15"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img3));
                if(s.equals("img16"))
                    im.setImageDrawable(getResources().getDrawable(R.drawable.img4));
            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
            }
        });

    }
}
公共类SpinnerRes扩展了AppCompative活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
最后一个字符串[]spstr=getResources().getStringArray(R.array.spinnervalue);
最终喷丝器sp=(喷丝器)findViewById(R.id.spinner1);
final ArrayAdapter ar=新的ArrayAdapter(这是android.R.layout.simple\u spinner\u dropdown\u项目,spstr);
sp.setAdapter(ar);
sp.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
最终ImageView im=(ImageView)findViewById(R.id.imageView1);
字符串s=((TextView)arg1.getText().toString();
如果(s.等于(“A”))
im.setImageDrawable(getResources().getDrawable(R.drawable.a));
如果(s.等于(“A6”))
im.setImageDrawable(getResources().getDrawable(R.drawable.a6));
如果(s.等于(“A7”))
im.setImageDrawable(getResources().getDrawable(R.drawable.a7));
如果(s.等于(“Am”))
setImageDrawable(getResources().getDrawable(R.drawable.am));
如果(s.equals(“Am6”))
setImageDrawable(getResources().getDrawable(R.drawable.am6));
如果(s.equals(“Am7”))
setImageDrawable(getResources().getDrawable(R.drawable.am7));
如果(s.equals(“Amaj7”))
setImageDrawable(getResources().getDrawable(R.drawable.amaj7));
如果(s.equals(“img8”))
setImageDrawable(getResources().getDrawable(R.drawable.img4));
如果(s.equals(“img9”))
setImageDrawable(getResources().getDrawable(R.drawable.img1));
如果(s.equals(“img10”))
setImageDrawable(getResources().getDrawable(R.drawable.img2));
如果(s.equals(“img11”))
setImageDrawable(getResources().getDrawable(R.drawable.img3));
如果(s.equals(“img12”))
setImageDrawable(getResources().getDrawable(R.drawable.img4));
如果(s.equals(“img13”))
setImageDrawable(getResources().getDrawable(R.drawable.img1));
如果(s.equals(“img14”))
setImageDrawable(getResources().getDrawable(R.drawable.img2));
如果(s.equals(“img15”))
setImageDrawable(getResources().getDrawable(R.drawable.img3));
如果(s.equals(“img16”))
setImageDrawable(getResources().getDrawable(R.drawable.img4));
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
}
}
包含两个微调器的xml

<Spinner
    android:layout_height="40dp"
    android:layout_width="60dp"
    android:id="@+id/spinner1"
    android:layout_alignBottom="@+id/imageView"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginLeft="31dp"
    android:layout_marginStart="31dp">
</Spinner>
<Spinner
    android:layout_height="40dp"
    android:layout_width="50dp"
    android:id="@+id/spinner2"
    android:layout_alignTop="@+id/spinner1"
    android:layout_toRightOf="@+id/spinner1"
    android:layout_toEndOf="@+id/spinner1"
    android:layout_marginLeft="18dp"
    android:layout_marginStart="18dp">
</Spinner>

包含2个数组的strings.xml文件

<string-array name="spinnervalue">
    <item>A</item>
    <item>A6</item>
    <item>A7</item>
    <item>Am</item>
    <item>Am6</item>
    <item>Am7</item>
    <item>Amaj7</item>
    <item>img8</item>
    <item>img9</item>
    <item>img10</item>
    <item>img11</item>
    <item>img12</item>
    <item>img13</item>
    <item>img14</item>
    <item>img15</item>
    <item>img16</item>
</string-array>
<string-array name="spinnervalue2">
    <item>A</item>
    <item>A6</item>
    <item>A7</item>
    <item>Am</item>
    <item>Am6</item>
    <item>Am7</item>
    <item>Amaj7</item>
    <item>img8</item>
    <item>img9</item>
    <item>img10</item>
    <item>img11</item>
    <item>img12</item>
    <item>img13</item>
    <item>img14</item>
    <item>img15</item>
    <item>img16</item>
</string-array>

A.
A6
A7
是
Am6
Am7
Amaj7
img8
img9
img10
img11
img12
img13
img14
img15
img16
A.
A6
A7
是
Am6
Am7
Amaj7
img8
img9
img10
img11
img12
img13
img14
img15
img16
使用这种方法:

public class SpinnerRes extends AppCompatActivity implements OnItemSelectedListener{

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);

                final String[] spstr = getResources().getStringArray(R.array.spinnervalue);
                final Spinner sp = (Spinner)findViewById(R.id.spinner1);

                final ArrayAdapter<String> ar = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,spstr);
                sp.setAdapter(ar);

               sp.setOnItemSelectedListener(this);

            }

        public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {

             Spinner spinner = (Spinner) parent;
             if(spinner.getId() == R.id.spinner1)
             {
               //do your staff                   
             }
             else if(spinner.getId() == R.id.spinner2)
             {
               //do your staff
             }

          }

    }
公共类SpinnerRes扩展AppCompative活动实现OnItemSelectedListener{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
最后一个字符串[]spstr=getResources().getStringArray(R.array.spinnervalue);
最终喷丝器sp=(喷丝器)findViewById(R.id.spinner1);
final ArrayAdapter ar=新的ArrayAdapter(这是android.R.layout.simple\u spinner\u dropdown\u项目,spstr);
sp.setAdapter(ar);
sp.setOnItemSelectedListener(此);
}
已选择公共位置(AdapterView父项、视图、整数位置、长id){
微调器微调器=(微调器)父对象;
if(spinner.getId()==R.id.spinner1)
{
//你的员工呢
}
else if(spinner.getId()==R.id.spinner2)
{
//你的员工呢
}
}
}
使用这种方法:

public class SpinnerRes extends AppCompatActivity implements OnItemSelectedListener{

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);

                final String[] spstr = getResources().getStringArray(R.array.spinnervalue);
                final Spinner sp = (Spinner)findViewById(R.id.spinner1);

                final ArrayAdapter<String> ar = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,spstr);
                sp.setAdapter(ar);

               sp.setOnItemSelectedListener(this);

            }

        public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {

             Spinner spinner = (Spinner) parent;
             if(spinner.getId() == R.id.spinner1)
             {
               //do your staff                   
             }
             else if(spinner.getId() == R.id.spinner2)
             {
               //do your staff
             }

          }

    }
公共类SpinnerRes扩展AppCompative活动实现OnItemSelectedListener{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
最后一个字符串[]spstr=getResources().getStringArray(R.array.spinnervalue);
最终喷丝器sp=(喷丝器)findViewById(R.id.spinner1);
final ArrayAdapter ar=新的ArrayAdapter(这是android.R.layout.simple\u spinner\u dropdown\u项目,spstr);
sp.setAdapter(ar);
sp.setOnItemSelectedListener(此);
}
已选择公共位置(AdapterView父项、视图、整数位置、长id){
微调器微调器=(微调器)父对象;
if(spinner.getId()==R.id.spinner1)
{
//你的员工呢
}
else if(spinner.getId()==R.id.spinner2)