Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从微调器到新活动的选定值_Android_Spinner - Fatal编程技术网

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

Android 从微调器到新活动的选定值,android,spinner,Android,Spinner,我正在开发Androidapplication,我希望能够通过用户选择的微调器值启动活动 例如:在主活动中,您将看到一个值为“颜色”、“动物”的微调器。如果您选择“颜色”并单击名为“继续”的按钮,您将进入一个在listview中列出不同颜色的活动,但如果您从微调器中选择“动物”,您将进入同一个活动,但这次它将显示动物的listview 谁能告诉我怎么做 (PS这是一个关于我希望它如何工作的示例,我实际上需要从Web服务调用所有内容)非常简单,只需使用bundle并将适当的数据发送到下一个活动即可

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

例如:在主活动中,您将看到一个值为“颜色”、“动物”的微调器。如果您选择“颜色”并单击名为“继续”的按钮,您将进入一个在listview中列出不同颜色的活动,但如果您从微调器中选择“动物”,您将进入同一个活动,但这次它将显示动物的listview

谁能告诉我怎么做


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

非常简单,只需使用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);
        }
    });

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

最简单的解决方案是:

    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

      }

您可以实现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
}
@覆盖
已选择公共位置(AdapterView父项、视图、整数位置、长id)
{
//调用以下方法获取微调器的选定值并执行
//任务以开始所需的活动
String selectedValue=parent.getItemAtPosition(pos.toString();
if(selectedValue.equals(“颜色”))
{
//使用颜色完成任务
}
else if(selectedValue.equals(“动物”))
{
//用动物来完成你的任务
}
}
@凌驾
未选择公共无效(AdapterView父级)
{
//无所事事
}

所有过程都在“继续”按钮上。只需在“继续”按钮的onClick()中检查微调器值,然后根据微调器的值启动新活动。您可以将该值(动物(或)颜色)传递给下一个活动。基于该值,您可以填充ListView中的值。我得到了一个名为“List”的活动,默认值为“value 1,value 2”,依此类推。我不能用颜色/动物的值来覆盖它吗?你能发布你所做的任何代码吗?