我正在使用大量可点击的 ImageButtons(准确地说是 116 个)制作一个应用程序。我的问题已经存在:如何在一个循环中声明所有按钮?此外,所有按钮都指向同一个视图,但我需要单击它的按钮的 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,但我相信有一个更优雅的解决方案 :)
提前致谢!