gpt4 book ai didi

java - 使用自定义类对象填充线性布局

转载 作者:行者123 更新时间:2023-12-01 12:30:21 25 4
gpt4 key购买 nike

我正在尝试设计一个简单的应用程序,该应用程序可以水平滚动,并填充有图像按钮。

我能够填充列表,但前提是我手动有 6 个按钮。有没有办法用数组和循环来做到这一点?使用 btn、btn1、btn2 等感觉很笨重。

我的 LinearList 被引用为 mLinearList

我还没有设置onClickListeners。

private void fillPaintingGallery() {

ImageButton btn = new ImageButton(this);
btn.setImageDrawable(getResources().getDrawable(R.drawable.painting1));
mLinearList.addView(btn);

ImageButton btn1 = new ImageButton(this);
btn1.setImageDrawable(getResources().getDrawable(R.drawable.painting2));
btn1.setContentDescription(RenaissanceDatabase.description[1]);
mLinearList.addView(btn1);

ImageButton btn2 = new ImageButton(this);
btn2.setImageDrawable(getResources().getDrawable(R.drawable.painting3));
btn2.setContentDescription(RenaissanceDatabase.description[2]);
mLinearList.addView(btn2);

ImageButton btn3 = new ImageButton(this);
btn3.setImageDrawable(getResources().getDrawable(R.drawable.painting4));
btn3.setContentDescription(RenaissanceDatabase.description[3]);
mLinearList.addView(btn3);

ImageButton btn4 = new ImageButton(this);
btn4.setImageDrawable(getResources().getDrawable(R.drawable.painting5));
btn4.setContentDescription(RenaissanceDatabase.description[4]);
mLinearList.addView(btn4);

ImageButton btn5 = new ImageButton(this);
btn5.setImageDrawable(getResources().getDrawable(R.drawable.painting6));
btn5.setContentDescription(RenaissanceDatabase.description[5]);
mLinearList.addView(btn5);





}

谢谢

最佳答案

为什么不使用 Gridview 或 Listview 来满足您的要求

for (int i = 0; i < RenaissanceDatabase.description[].length; i++) {
ImageButton btn = new ImageButton(this);
int id = getResources().getIdentifier("yourpackagename:drawable/painting" + (i+1), null, null);
btn.setImageDrawable(getResources().getDrawable(
id));
btn.setContentDescription(RenaissanceDatabase.description[i]);
mLinearList.addView(btn);

}

关于java - 使用自定义类对象填充线性布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25966005/

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