我是Android编程的新手。
我想知道是否可以生成在java类中创建的ID到r.java
我想要生成的ID是nBtnLayoutlist。
public class classABC extends Activity {
private int nBtnLayoutlist = 20;
private OnClickListener onClick() {
return new OnClickListener() {
public void onClick(View v) {
nBtnLayout = (LinearLayout)findViewById(R.id.nBtnLayoutList);
}
};
}
private LinearLayout newBtnLayout(){
LinearLayout nBtnLayout = new LinearLayout(this);
final LayoutParams lparams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
nBtnLayout.setOrientation(LinearLayout.VERTICAL);
nBtnLayout.setLayoutParams(lparams);
nBtnLayout.setWeightSum(100);
nBtnLayout.setId(nBtnLayoutList);
return nBtnLayout;
}
答案 0 :(得分:2)
R.java中的ID是在构建时从.xml文件的内容生成的。 R.java不能手动修改,也不能在运行时修改。
如果需要,可以通过在res/values
中的某个文件中声明id resource来定义{{3}}:该文件可以有任何名称:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item
type="id"
name="id_name" />
</resources>
您始终可以通过调用setId(int)
来设置广告中视图的ID(正如您所做的那样)。
编辑:如果要在通话中使用常量,例如
nBtnLayout.setId(nBtnLayoutList);
然后你需要在诸如
之类的调用中使用相同的常量nBtnLayout = (LinearLayout)findViewById(nBtnLayoutList); // NOT R.id.nBtnLayoutList
答案 1 :(得分:0)
- nBtnLayoutList
是对LinearLayout的引用。
- 您可以通过LinearLayout
方法传递整数来将ID设置为setId()
。
<强>例如强>
nBtnLayout.setId(1);