android - 如何在android中使用View Stub

标签 android viewstub

我想在 android 中使用 ViewStub,所以请帮助我。我已经创建了

ViewStub stub = new ViewStub;
View inflated = stub.inflate(); 

如何以编程方式使用它?

最佳答案

喜欢 documentation说,ViewStub 是一个惰性膨胀的 View

您可以像这样在 XML 文件中声明 ViewStub:

 <ViewStub android:id="@+id/stub"
           android:inflatedId="@+id/subTree"
           android:layout="@layout/mySubTree"
           android:layout_width="120dip"
           android:layout_height="40dip" />

android:layout 属性是对 View 的引用,该引用将在调用 inflate() 后膨胀。所以

ViewStub stub = (ViewStub) findViewById(R.id.stub);
View inflated = stub.inflate();

当调用 inflate() 方法时,ViewStub 会从其父级中移除并替换为正确的 View( Root View ) mySubTree 布局)。

如果您想以编程方式执行此操作,那么您的代码应该类似于:

ViewStub stub = new ViewStub(this);
stub.setLayoutResource(R.layout.mySubTree);
stub.inflate(); 

关于android - 如何在android中使用View Stub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577777/

相关文章:

android - 在 ViewStub 中使用 ListView 时出现 NullPointerException

Android 应用小部件 ViewStub

javascript - 如何在网络应用程序中请求用户对 html5 geolocation api 的许可?

android - 引擎盖下的混合应用程序开发(PhoneGap、Cordova、Ionic)

android - 如何处理 FirebaseInstanceId.getInstance().getToken() = null

Android - ViewStub 值得吗?

android - 如何使用 ImageAdapter 从 Gridview 中获取所选项目? (安卓)

android - 如何从资源中设置位图

android - 无法访问 ViewStub'child

android - View 必须有标签