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>

呼び出すことで、いつでもレイアウト内のビューの id を設定できますsetId(int)(既に行っているように)。

編集:次のような呼び出しで定数を使用する場合

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 に答える