作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 CheckBoxes,并在使用 TextViews 时遇到类似的问题,以下方法可以正常工作,但是多余的。我在使用数量为 10 的 TextView 时也做了同样的事情。
private CheckBox []checkBoxes ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_toast);
checkBoxes = new CheckBox[5];
checkBoxes[0] = findViewById(R.id.checkBox1);
checkBoxes[1] = findViewById(R.id.checkBox2);
checkBoxes[2] = findViewById(R.id.checkBox3);
checkBoxes[3] = findViewById(R.id.checkBox4);
checkBoxes[4] = findViewById(R.id.checkBox5);
}
我已经给复选框的 ID 起了一个通用名称,有什么我可以使用的功能吗?我在想是否有类似以下的方式:
for(int i=1;i<=5;i++){
checkBoxes[i-1]=findViewById(R.id.checkBox(somehow use i));}
或者我可以采取任何完全不同的方法吗?
最佳答案
您可以通过在资源中声明一个 int 数组来实现此目的,其中的条目是您的复选框 ID。
示例:
<resources>
<integer-array name="check_box_ids">
<item>@id/checkBox1</item>
<item>@id/checkBox2</item>
<item>@id/checkBox3</item>
<item>@id/checkBox4</item>
</integer-array>
然后,在 onCreate
中,您将循环遍历本地数组或在资源中创建的数组 (check_box_ids
) - 确保它们都具有尺寸相同!
int[] checkBoxIds = getResources().getIntArray(R.array.check_box_ids);
for (int i = 0; i < checkBoxIds.length; i++) {
checkBoxes[i] = findViewById(checkBoxIds[i]);
}
关于java - 有什么方法可以用相似的 ID 名称初始化多个 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61367235/
现在我正在尝试实现 flash programming specification对于 PIC32MX。我正在使用 PIC32MX512L 和 PIC32MX512H。 PIC32MX512L最终必须
我是一名优秀的程序员,十分优秀!