从微调器到新活动的选定值

时间:2014-05-26 11:25:30

标签: android spinner

我正在开发Android应用程序,我希望能够通过用户选择的微调器值启动活动。

作为一个例子:在主要活动中,您将看到一个带有值"颜色","动物"的微调器。如果你选择" Color"然后单击名为"继续"的按钮,您将进入列表视图中列出不同颜色的活动,但如果您选择" Animal"从旋转器开始,你将会进行相同的活动,但这次它显示的是动物列表视图。

有人能给我一个如何做到这一点的提示吗?

(PS这是我希望它如何工作的一个例子,我实际上需要从Web服务中调用所有内容)

3 个答案:

答案 0 :(得分:2)

你可以实现android.widget.AdapterView.OnItemSelectedListener并覆盖方法

    @Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,   long id) 
    {
       // Call the following method to get the selected value of the spinner and perform your 

       //task to start your desired activity
   String selectedValue=parent.getItemAtPosition(pos).toString();
       if(selectedValue.equals("Colors"))
       {
         //do your task using color
       }
       else if(selectedValue.equals("Animal"))
       {
         //do your task using animal
       }
}
@Override
public void onNothingSelected(AdapterView<?> parent) 
     {
    //Do Nothing
}

答案 1 :(得分:0)

它非常简单,只需使用bundle并将适当的数据发送到您的下一个活动。一个小样本看起来像这样:

button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            String spinnerText = spinner.getSelectedItem().toString();
Intent intent = new Intent(A.this,B.class);
intent.putExtra("selection",spinnerText);
        }
    });

然后在您的下一个活动中获取发送的文本并进行相应的操作。

答案 2 :(得分:0)

最简单的解决方案就是:

    Spinner yourSpinner = (Spinner)view.findViewById(R.id.your_spinner);
    String value = yourSpinner.getSelectedItem().toString();

    if(value.equalsIgnoreCase("ANIMAL")){

     Intent intent = new Intent(yourActivity.this, yourNextActivity.class);
     intent.putExtra("VALUE", value);
     startActivity(intent)

    }

然后在你要开始的那个活动中:

     Intent intent = getIntent();

     String value= intent.getStringExtra("VALUE");

     if(value.equalsIgnoreCase("ANIMAL")){

      //start the part with animals

      }