gpt4 book ai didi

Android - 如何从 ImageButton 数组中获取特定 ID?

转载 作者:行者123 更新时间:2023-11-30 03:19:15 25 4
gpt4 key购买 nike

我正在使用大量可点击的 ImageButton(准确地说是 116 个)制作一个应用程序。我的问题已经存在:如何在一个循环中声明所有按钮?此外,所有按钮都指向相同的 View ,但我需要单击它的按钮的 ID。这是我得到的:

public void addListenerOnImageButtons() {
for(int i = 1; i <= 116; i++) {
final Context context = this;
String buttonID = "imgbutton_"+i;
int resID = getResources().getIdentifier(buttonID,"id",getPackageName());
imageButton[i] = (ImageButton) findViewById(resID);
imageButton[i].setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, DetailsActivity.class);
startActivity(intent);
}
});
}
}

我的按钮称为“imgbutton_1”、“imgbutton_2”、...、“imgbutton_116”,并在文件“detail_layout.xml”中声明。当然,我可以遍历每个 Button,但我相信有一个更优雅的解决方案:)

提前致谢!

最佳答案

使用HashMap<Integer, ImageButton> map = new HashMap<Integer, ImageButton>();并使用 id 作为键

for(int i = 1; i <= 116; i++) {
final Context context = this;
String buttonID = "imgbutton_"+i;
int resID = getResources().getIdentifier(buttonID,"id",getPackageName());
ImageButton imageButton = (ImageButton) findViewById(resID);
map.put(resID, imageButto);
imageButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, DetailsActivity.class);
startActivity(intent);
}
});
}

关于Android - 如何从 ImageButton 数组中获取特定 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19469914/

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