0

我是 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;

}
4

2 回答 2

2

R.java 中的 id 是在构建时从您的 .xml 文件的内容生成的。R.java 不能手动修改,也不能在运行时修改。

如果需要,可以通过在某个文件中声明它来定义一个id 资源res/values(该文件可以具有任何名称):

<?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
于 2012-11-20T04:50:01.090 回答
0

- nBtnLayoutList是对 LinearLayout 的引用。

-您可以通过在方法LinearLayout中传递整数来将 id 设置为。setId()

例如:

nBtnLayout.setId(1);
于 2012-11-20T04:48:37.103 回答