1

我正在尝试使用viewstub来设置我的视图,它第一次工作正常但是如果我再次调用该方法我得到一个空指针异常,任何想法为什么会发生这种情况?

这是我的代码,我第一次调用它,它工作正常。

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

然后当我尝试用不同的布局再次做同样的事情时,我得到一个空指针异常

            ViewStub stub = FindViewById<ViewStub>(Resource.Id.stub);
            stub.LayoutResource = Resource.Layout.product_view;
            stub.Inflate();
4

1 回答 1

0

根据官方文档

当 ViewStub 可见,或者调用 inflate() 时,布局资源会膨胀。然后 ViewStub 在其父级中将其自身替换为膨胀的一个或多个视图。

ViewStub被替换为Resource.Layout.overviewafter you call stub.Inflate()。您可以使用FindViewById()在您的视图中获取视图overview,但无法再获取视图ViewStub

于 2018-05-28T03:14:31.240 回答