我是 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;
}
最佳答案
R.java 中的 ids 是在构建时根据 .xml 文件的内容生成的。 R.java无法手动修改,也无法在运行时修改。
如果需要,您可以定义 id resource通过在 res/values
中的某个文件中声明它(该文件可以具有任何名称):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item
type="id"
name="id_name" />
</resources>
您始终可以通过调用 setId(int)
在布局中设置 View 的 ID(正如您已经在做的那样)。
编辑:如果您想在调用中使用常量,例如
nBtnLayout.setId(nBtnLayoutList);
那么您需要在调用中使用相同的常量,例如
nBtnLayout = (LinearLayout)findViewById(nBtnLayoutList); // NOT R.id.nBtnLayoutList
关于java - 如何将我在java类中创建的ID生成到r.java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13466723/