将ID设置为布局中的数字

时间:2016-09-07 18:38:56

标签: java android

如何在xml布局中执行view.setId(123)

android:id="123"无效,android:id="@+id/123"会将其添加到ID文件中

编辑:我需要将ID设置为一个数字,因为我将其设置为大量视图,并且我想通过循环启动它们

1 个答案:

答案 0 :(得分:1)

看起来你正在做一些不打算做的事情。它不可能像你想要的那样去做,但是有一点做法。

最容易定义这些ID的数组

static final int[] IDS = {R.id.id1, R.id.id2, ...};

或使用xml TypeArray

<resources>
    <array name="ids">
        <item>@id/id1</item>
        <item>@id/id2</item>
        ...
    </array>
</resources>
TypedArray ta = getResources().obtainTypedArray(R.array.ids);
for (int i = 0; i < ta.length(); i++)
    findViewById(ta.getResourceId(i, 0);
ta.recycle();

但最好考虑重构代码,而不需要使用它。