Java 处理大量onClick ID的最佳方法?

Java 处理大量onClick ID的最佳方法?,java,android,Java,Android,我的android应用程序就像一个遥控器,因此有30个按钮和30个独特的ID,如下所示: android:id="@+id/button0" android:id="@+id/button1" . . . android:id="@+id/button29" 我想减少我必须做的非常大的switch语句。除了使用下面的switch语句之外,是否还有其他方法来处理这些按钮的onClickListener public void onClick(View v) { switch (v.ge

我的android应用程序就像一个遥控器,因此有30个按钮和30个独特的ID,如下所示:

android:id="@+id/button0"
android:id="@+id/button1"
.
.
.
android:id="@+id/button29"
我想减少我必须做的非常大的switch语句。除了使用下面的switch语句之外,是否还有其他方法来处理这些按钮的
onClickListener

public void onClick(View v) 
{
    switch (v.getId())
    {
        case R.id.button0:
            myFunction(0);
            break;
        case R.id.button1:
            myFunction(1);
            break;
        .
        .
        .
        case R.id.button29:
            myFunction(29);
            break;

    }
}
在我无知的情况下,我试着做以下事情:

String id = Integer.toString(v.getId());
id.replace("button", "");
int buttonNum = Integer.getInteger(id);
myFunction(buttonNum);

但是现在我看到
v.getId()将不会返回
按钮0
。是否可以从
视图或
onClick
中的
id
中获取按钮的编号(0-29)?

尝试使用设置标签属性并获取特定按钮id处的标签(按钮编号)值。如

String id = Integer.toString(v.getTag());
myFunction(id);

and in XML 
 <Button
            android:id="@+id/btn1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:lineSpacingExtra="5sp"
            android:text="AAAAAA"
            android:tag="1"
            android:textColor="@android:color/white"
            android:textSize="16sp" />
String id=Integer.toString(v.getTag());
myFunction(id);
和XML格式

buttonNum的值是多少???