首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按钮传参数给android:onClick方法

问按钮传参数给android:onClick方法
EN

Stack Overflow用户
提问于 2012-10-04 20:29:52
回答 5查看 25.4K关注 0票数 12

嗨,我的活动xml中有类似这样的东西(3个按钮),指向相同的方法:

代码语言:javascript
复制
 <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方法中哪个按钮被按下了?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-10-04 20:33:50

代码语言:javascript
复制
public void printNo( View v ) {
    switch (v.getId()) {
    case (R.id.Button_1):
        //stuff
    break;
    case (R.id.Button_2):
        //stuff
    break;
    case (R.id.Button_3):
        //stuff
    break;
}
票数 32
EN

Stack Overflow用户

发布于 2012-10-04 20:39:23

正如@user1106018所说的--你可以像这样在xml中使用tag:

代码语言:javascript
复制
<Button android:onClick="f" android:tag="0"/>

然后,以这种方式获取此标记非常简单:

代码语言:javascript
复制
public void f(View v) {
    String value =  v.getTag(); 
}
票数 14
EN

Stack Overflow用户

发布于 2012-10-04 20:32:42

只需切换ID即可:

代码语言:javascript
复制
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;
}
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12727331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档