Java 处理大量onClick ID的最佳方法?
我的android应用程序就像一个遥控器,因此有30个按钮和30个独特的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: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的值是多少???