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

时间:2012-08-15 18:15:08

标签: 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


       }


   };

   };

1 个答案:

答案 0 :(得分:6)

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

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

int spinner1Index = spinner1.getSelectedItemPosition();

spinner1.setSelection(spinner2.getSelectedItemPosition());
spinner2.setSelection(spinner1Index );

让我知道这是否适合您,否则我们会找到另一种解决方案。