我正在开发Android应用程序,我希望能够通过用户选择的微调器值启动活动。
作为一个例子:在主要活动中,您将看到一个带有值"颜色","动物"的微调器。如果你选择" Color"然后单击名为"继续"的按钮,您将进入列表视图中列出不同颜色的活动,但如果您选择" Animal"从旋转器开始,你将会进行相同的活动,但这次它显示的是动物列表视图。
有人能给我一个如何做到这一点的提示吗?
(PS这是我希望它如何工作的一个例子,我实际上需要从Web服务中调用所有内容)
答案 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
}