Мой main.xml макет просто содержит кнопку и LinearLayout
content_area , что показано ниже:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/myBtns"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
<Button
android:id="@+id/btn_one"
android:layout_width="100dip"
android:layout_height="30dip"
android:text="button one"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/content_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<!--inflate layout here-->
</LinearLayout>
</LinearLayout>
У меня есть другой макет ( content_one.xml ), который будет использоваться для встраивания (раздувания) в content_area
(значение id) макета main.xml :
content_one.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView.../>
...
<Button .../>
</LinearLayout>
Я пытался использовать LayoutInflater
для встраивания content_one.xml в content_area
из main.xml :
public class MyActivity extends Activity{
private LinearLayout contentArea;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
contentArea= (LinearLayout) findViewById(R.id.content_area);
LayoutInflater inflater = (LayoutInflater)MyActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View inflatedView = (View) inflater.inflate(R.layout.content_one, null);
contentArea.addView(inflatedView);
}
Но это не работает, content_one.xml не отображается в content_area
из main.xml .Я получил следующее сообщение об ошибке от LogCat в Eclipse
(. Щелкните правой кнопкой мыши на следующем изображении и просмотрите изображение )
, почему мой LayoutInflater не работает?Где я не прав?