Как я могу программно включить макет в Android?

Я ищу способ включить макет программным способом вместо использования тега XML, include как в моем примере:

  <include layout="@layout/message" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.75"/> 

Необходимо изменить этот параметр « layout =« @ layout / message »программно, пожалуйста.

есть идеи как это сделать?

Solutions Collecting From Web of "Как я могу программно включить макет в Android?"

Используйте ViewStub вместо include :

 <ViewStub android:id="@+id/layout_stub" android:inflatedId="@+id/message_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.75" /> 

Затем в коде, получите ссылку на заглушку, установите его ресурс макета и раздуйте его:

 ViewStub stub = (ViewStub) findViewById(R.id.layout_stub); stub.setLayoutResource(R.layout.whatever_layout_you_want); View inflated = stub.inflate(); 
 ViewStub stub = (ViewStub) findViewById(R.id.text_post); stub.setLayoutResource(R.layout.profile_header); View inflated = stub.inflate(); 

В Mono.Droid / Xamarin это сработало для меня:

 ViewStub stub = FindViewById<ViewStub>(Resource.Id.layout_stub); stub.LayoutResource = Resource.Layout.whatever_layout_you_want; stub.Inflate();