如何使用具有多个按钮的单个意图

时间:2010-08-12 11:57:34

标签: android variables android-intent

我有一个带有各种选择的android上下文菜单,根据用户选择我想要启动一个意图。 intent为所有按钮启动相同的活动,但根据选择将包含不同的String变量。我目前正在为我的点击监听器使用一个开关,案例方法,但在尝试消除代码重复时继续遇到“重复的局部变量”问题!如果有人能提供一些甚至更好的伪代码!

3 个答案:

答案 0 :(得分:1)

很难说没有看到一些代码,但“重复局部变量”和“切换案例”让我觉得你在其中一个案例中声明了一个变量,其名称与另一个案例中的变量同名。 / p>

同一个开关的不同情况下的代码都在相同的范围内,除非你用括号包围一个案例中的代码,如下所示:

switch(VALUE) {
case A: {
    String string = "";
}
case B: {
    //Same variable name, possible since it's in a different scope now.
    String string = "";
}
}

因此,要么使用括号,要么只是确保在整个案例中使用不同的变量名称。

答案 1 :(得分:1)

您可以使用intent.putExtra(String name,String value)并将其推送到其他活动。

  

伪代码:

     

Button1.value =“X”;
  Button2.value =“Y”;

     

onClickListner(查看v){
  Intent intent = new Intent();
  intent.putExtra( “ButtonValue”   v.value());
  //额外的代码在这里...
  }

希望这就是你要找的......

VINAY

答案 2 :(得分:0)

我喜欢使用set / getTag(Object),因为你可以将任何你喜欢的类型放入其中(只要你小心再把它拿出来):

button1.setTag(MyClass.STATIC_INT_1);
button2.setTag(MyClass.STATIC_INT_2);
button1.setOnClickListener(Click);
button2.setOnClickListener(Click);


private OnClickListener Click(View v) {
Intent intent = new Intent() ;
intent.putExtra("Value", Integer.parseInt(v.getTag().toString()) ) ;
···
}