以下是我的布局文件:activity_start.xml
<LinearLayout
android:id="@+id/ll_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ViewStub
android:id="@+id/view_stub_main"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_marginBottom="@dimen/dp_8"/>
</LinearLayout>
我在我的活动中做了
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
ViewStub viewStub = (ViewStub)findViewById(R.id.view_stub_main);
viewStub.setLayoutResource(R.layout.test_layout);
View view = viewStub.inflate();
}
这很好用。 但是当我尝试从我的Activity动态创建ViewStub而不在xml中声明 ViewStub 时:
ViewStub viewStub = new ViewStub(this,R.layout.test_layout);
View view = viewStub.inflate();
这导致错误: java.lang.IllegalStateException:ViewStub必须具有非null ViewGroup viewParent
我在做错了! 提前谢谢。