【问题标题】:Droid: How to get button id from onClick method described in XML?Droid:如何从 XML 中描述的 onClick 方法获取按钮 ID?
【发布时间】:2012-10-23 14:07:16
【问题描述】:

按照开发指南,我可以使用 XML 向按钮添加方法。这在我的活动中调用了“buttonPress”方法。如果我对多个按钮应用相同的方法,如何确定被点击的按钮的身份?

【问题讨论】:

  • 考虑为它们中的每一个添加一个私有的 onClick(),除非你想随着时间的推移获得不同功能的巨大切换。
  • 由于该方法是根据每次按键向字符串添加一个字符,因此处理所有相同的方法而不是使用 12 个几乎相同的方法是有意义的。

标签: android onclick


【解决方案1】:

使用getId() 方法。它返回 int id,您可以将其与资源中的 id 进行比较。

这样使用switch语句很方便:

public void buttonPress(View v) {
    switch (v.getId()) {
        case R.id.button_one:
            // do something
            break;
        case R.id.button_two:
            // do something else
            break;
        case R.id.button_three:
            // i'm lazy, do nothing
            break;
    }
}

【讨论】:

    【解决方案2】:

    可以使用getId() 方法获取当前选中视图的id。 getId() 返回 android:id 值,在开关控件中使用该整数值来确定当前使用的控制器名称。

    public void buttonPress(View v) {
        switch (v.getId()) {
            case R.id.button_one:
                // do something
                break;
            case R.id.button_two:
                // do something else
                break;
           default: 
                //default case
                break;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 2015-02-01
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多