How can I programmatically include layout in Android?
Use a ViewStub
instead of 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" />
Then in code, get a reference to the stub, set its layout resource, and inflate it:
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();
In Mono.Droid / Xamarin this worked for me:
ViewStub stub = FindViewById<ViewStub>(Resource.Id.layout_stub);stub.LayoutResource = Resource.Layout.whatever_layout_you_want;stub.Inflate();