2012-03-22 9 views
0

LinearLayoutをIDで呼びそそうとしています。私がそうしようとしているとき、私はNoSuchFieldErrorを得ています。Android直線レイアウトエラー

LinearLayout l1 = (LinearLayout)findViewById(R.id.content2); 
setContentView(l1); 
+3

のようになります。findViewById()は、XMLリソースからコンテンツビューを既に設定しているためです。このサンプルコードは意味をなさない... – Izkata

答えて

1

使用方法が正しくありません。

setContentView(R.layout.main)は、あなたのケースに対してmain.xmlというレイアウトで設定する必要があります。

となり、メインレイアウトではid2のLinearLayoutが使用されています。

また、setContentViewを使用して、動的線形レイアウトを直接作成する場合、つまりxmlでは作成しない場合。

Linearlayout l1 = new LinearLayout(this); 
//Set Layout params and bla bla... as per your need.. 
now setContentView(l1); 
0

、あなたが膨らまされたXMLリソースファイルにそのIDを与えている場合にのみ場合は、そのIDを見つけることができます。 xmlリソースファイルをロードせずに、idを見つけることができません。アクティビティonCreate()のsetContentView(R.layout.main);を使用してxmlリソースファイルを読み込むことができます。 idを見つけるコードはLinearLayout l = findViewById(R.id.content);