在微调器之间交换选定的项目

use*_*550 1 android spinner

我在将项目从spinner1更改为时遇到问题spinner2.好的我正在创建一个翻译.我有spinner1一些语言和第二个使用相同语言的微调器.我从中选择一种"来自"语言,spinner1然后从中选择"到"语言spinner2.好的,我想要做的就是当我按下按钮时,它会交换选定的微调器项目.我不知道如何实现这一点.这是我的代码:

public class Example extends Activity {

ImageView MyChangeButton;
Spinner spinner1, spinner2;

@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

MyChangeButton = (ImageView)findViewById(R.id.imageView1);
    MyChangeButton.setOnClickListener(MyChangeButtonOnClickListener);

    ArrayAdapter<CharSequence> adapter
    = ArrayAdapter.createFromResource(this,
    R.array.firstlanguage, android.R.layout.simple_spinner_item);

    spinner1 = (Spinner) findViewById(R.id.spinner1);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner1.setAdapter(adapter);

    spinner2 = (Spinner) findViewById(R.id.spinner2);
    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter);

   }
 private ImageView.OnClickListener MyChangeButtonOnClickListener = new ImageView.OnClickListener(){



   public void onClick(View v) {

      ------>//Here the code that i want to do


       }


   };

   };
Run Code Online (Sandbox Code Playgroud)

小智 6

我从你的问题中理解的是,你想在两个微调器之间交换值.

如果这两个微调器都使用相同的源,您可以执行以下操作.

int spinner1Index = spinner1.getSelectedItemPosition();

spinner1.setSelection(spinner2.getSelectedItemPosition());
spinner2.setSelection(spinner1Index );
Run Code Online (Sandbox Code Playgroud)

如果这对您有用,请告诉我,否则我们会找到另一种解决方案.