将参数从按钮传递到android:onClick方法
嗨,我的活动xml中有这样的东西(3个按钮)指向相同的方法:将参数从按钮传递到android:onClick方法,android,eclipse,eclipse-adt,Android,Eclipse,Eclipse Adt,嗨,我的活动xml中有这样的东西(3个按钮)指向相同的方法: <Button android:id="@+id/Button_1" android:onClick="printNo" android:text="@string/Button_1" /> <Button android:id="@+id/Button_2" android:onClick="printNo" and
<Button
android:id="@+id/Button_1"
android:onClick="printNo"
android:text="@string/Button_1" />
<Button
android:id="@+id/Button_2"
android:onClick="printNo"
android:text="@string/Button_2" />
<Button
android:id="@+id/Button_3"
android:onClick="printNo"
android:text="@string/Button_3" />
是否有任何方法可以确定在printNo方法中按下了哪个按钮?只需切换ID即可:
public void printNo(View v){
switch (v.getId()){
case R.id.Button_1:
break;
case R.id.Button_2:
break;
case R.id.Button_3:
break;
}
在我这边工作
public void printNo(View v) {
switch (v.getId()) {
case R.id.Button_1:
break;
case R.id.Button_2:
break;
case R.id.Button_3:
break;
}
在xml添加标记中,带有按钮名称的np
public void printNo(View V){
view.getTag();
// now you can recognize view with getTag()
}
其他答案似乎也不错;) 正如@user1106018所说,您可以在xml中使用
标记,如下所示:
<Button android:onClick="f" android:tag="0"/>
你为什么用这种方式。。也可以动态调用java文件..只是缺少一个强制转换,因为getTag()返回的对象不是StringorInteger.parseInt((String)v.getTag())
,用于整数
<Button android:onClick="f" android:tag="0"/>
public void f(View v) {
String value = v.getTag();
}