【发布时间】:2016-03-29 06:18:42
【问题描述】:
我正在尝试遍历所有 R.id 以查找所有 ImageView 对象并更改那里的属性。但 Android Studio 给了我一个错误。
这里是代码
public void initializeChipsViewholdersArray (){
for (int i = 1; i<10; i ++){
String viewholderName = "chip_00"+i;
int id_2 = R.id.class.getFields(viewholderName).getInt(0);//erorr here
ImageView chipViewholder= (ImageView)findViewById(id);
chipViewholder.setVisibility(View.INVISIBLE);
}
这里有错误
Error:(28, 33) 错误:类 Class 中的方法 getFields 不能应用于给定类型; 必需:无参数 找到:字符串 原因:实际参数列表和形式参数列表的长度不同 其中 T 是一个类型变量: T 扩展类中声明的 Object
这里已经讨论过我选择的解决方案How do I iterate through the id properties of R.java class?
【问题讨论】:
-
Class.getFields() 不带参数。你是说 getField().get(null) 吗?
-
getFields()返回R.id类中的所有公共字段,该类是R类中的静态内部类,它是Java 自动生成的资源类。那个方法,getFields(),不需要任何参数
标签: java android android-layout android-studio imageview