java Android以编程方式创建ID
我希望在代码中创建ID而不使用XML声明。例如,我有一些代码,我通过编程创建了如下视图
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_layout);
LinearLayout ll = (LinearLayout)findViewById(R.id.layout);
View v = new View(this);
v.setBackgroundColor(0xFFFF0000);
ll.addView(v, 100, 100);
}
我可以添加v.setId(50)
,但我想添加v.setId(R.id.some_id)
,我不想将some_id
添加到xml文件中,我知道这个选项
我的问题是,如何以编程方式创建R.id.some_id
,而不在XML文件中设置它。谢谢
# 1 楼答案
参考这个奇妙的答案:https://stackoverflow.com/a/13241629/586859
R.*引用被明确用于访问资源。你想做的事情实际上是不可能的,但也许你可以从上面的答案中给我们一些类似以下部分的东西:
保留一个XML
android:id
用于代码如果您的
ViewGroup
无法通过XML定义(或者您不希望这样),您可以通过XML保留id,以确保其保持唯一性:这里,值/id。xml定义了一个自定义
id
:创建视图组或视图后,可以附加自定义id