我在android studio中有64个图像视图,我不想像这样一个一个地定义它们:
ImageView iv11 = findViewById(R.id.iv11);
ImageViews的id由iv11开始(第一个数字是行和第二个col),而iv88结束有没有办法一起定义所有这些?
答案 0 :(得分:0)
您应该使用adapter填充您的观看次数。由于听起来您需要将图像显示在网格中,因此可以将GridView与适配器一起使用。
有很多教程可以指导你这样做;例如:您可以查看this作为开始。
希望这有帮助。
答案 1 :(得分:0)
通过for循环构建您的ImageView
ID并调用getResources().getIdentifier()
for (int col = 0 ; col < 8; ++col) {
for (int row = 0 ; row < 8; ++row) {
String idStr = "iv" + String.valueOf(row) + String.valueOf(col);
@IdRes int id = context.getResources().getIdentifier(idStr, "id", context.getPackageName());
ImageView imgView = findViewById(id);
// Do something with your image
}
}
无论如何,屏幕上有ImageView
这么多,应该由ListView
,RecyclerView
等适配器来管理...