Ron*_*oss 0 android loops for-loop view
我有一个布局包含4个TextViews与IDS:"名1","名称2","NAME3","NAME4"
我想用for循环迭代它们,有没有办法做到这一点?
就像是
for(int i = 1; i <= 4; i++)
{
findViewById(R.id."Name" + i)
}
Run Code Online (Sandbox Code Playgroud)
我知道这段代码远非真实,但有什么帮助吗?谢谢!罗恩
不,你不能这样做,因为R.id.xyz引用静态类的静态int.它不是一个可以像这样串联起来的字符串.此外,您的代码忽略了findViewById的返回值,因此它什么都不做(尽管我意识到您提到代码远非真实,但实际的用例可能有助于澄清您尝试做的事情).R.id."名称"没有任何意义,会给你一个编译器错误.
循环你可以做这样的事情:
int[] ids = {R.id.foo, R.id.bar};
Run Code Online (Sandbox Code Playgroud)
然后
for(int i = 0; i<ids.length; i++) {
View v = findViewById(ids[i]);
}
Run Code Online (Sandbox Code Playgroud)