我有活动它有两个旋转器..。
例子:第一名有*印度*巴基斯坦*孟加拉国第二名有*印度*巴基斯坦*孟加拉国
当我们选择第一个旋转孟加拉国和第二个旋转印度,然后单击提交,它必须转到一个新的活动称为BDTOINDActivity.java。
当我们选择第一个旋转孟加拉国和第二个旋转巴基斯坦,然后单击提交,它必须转到一个新的活动称为BDTOIPAKActivity.java。
发布于 2017-03-17 20:16:36
你可以这样做:
submit = (Button)findViewById(R.id.submit);
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//First get the selected country name
String sp1Val = spinner1.getSelectedItem().toString();
String sp2Val = spinner2.getSelectedItem().toString();
// Then compare both spinner values:
if(sp1Value.equals("Bangladesh") && sp2Val.equals("India")){
Intent i = new Intent(MainActivity.this, BDTOINDActivity.class);
startActivity(i);
}
//Do the rest of them as same
}
});希望这能有所帮助
发布于 2017-03-17 20:03:01
与纺丝器的值比较起来很简单,所以看看下面这个有用的答案:https://stackoverflow.com/a/13856029/7699710
我还将代码粘贴在这里:
Spinner mySpinner1 = (Spinner)findViewById(R.id.spinner1);
String txtFromSpinner1 = mySpinner1.getSelectedItem().toString();
Spinner mySpinner2 = (Spinner)findViewById(R.id.spinner2);
String txtFromSpinner2 = mySpinner2.getSelectedItem().toString();在定义了这个旋转器之后,可以这样做:
if (txtFromSpinner1.equals(txtFromSpinner2))
{
Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);
}发布于 2017-03-17 20:13:57
获取spinner的值,创建完整的活动类名并启动活动。
//activity field
Map<String, String> map = new HashMap<>();
//onCreate
map.put("india", "IND");
map.put("pakistan", "PAK");
map.put("bangladesh", "BD");
//on submit
String fromStr = fromSpinner.getSelectedItem().toString();
String toStr = toSpinner.getSelectedItem().toString();
String packagePrefix = "our.package.name.";
String activityName = packagePrefix + map.get(fromStr) + "TO" + map.get(toStr) + "Activity";
Class<?> activityClass = null;
try {
activityClass = Class.forName(activityName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent intent = new Intent(this, activityClass);
startActivity(intent); https://stackoverflow.com/questions/42866048
复制相似问题