[英]Best way to handle large number of onClick ids?
我的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();
例如不会返回button0
。 是否可以从View
或onClick
id
获取按钮的编号(0-29)?
尝试使用set tag属性,并在特定按钮id处获取tag(按钮编号)的值。 喜欢
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" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.