gpt4 book ai didi

java - 处理大量 onClick id 的最佳方法?

转载 作者:行者123 更新时间:2023-12-01 13:18:18 26 4
gpt4 key购买 nike

我的 Android 应用程序就像一个 Remote ,因此有 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 例如。是否可以从onClick中的Viewid获取按钮的编号(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" />

关于java - 处理大量 onClick id 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22277652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com