首页 > 代码库 > Android_ViewStub
Android_ViewStub
主窗体xml:
[html] view plaincopy
- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" >
- <com.yzh.lockpri2.widget.ScaledImageView
- android:id="@+id/imageBG"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="100dp"
- android:paddingBottom="5dp">
- <com.yzh.lockpri2.widget.BluredImageView
- android:id="@+id/headerBg"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/welcome_title"
- android:layout_gravity="center"
- style="@style/welcome_bold_info_font"
- />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/welcome_info"
- style="@style/welcome_little_info_font"
- android:layout_gravity="center_horizontal|bottom"
- android:layout_marginBottom="3dp"/>
- </FrameLayout>
- <ViewStub
- android:id="@+id/keyboardStub"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_gravity="bottom"
- android:inflatedId="@+id/keyboard"
- layout="@layout/keyboard"
- />
- </FrameLayout>
keyboard是另外一个xml中的布局, 在视图中能正常显示.
然后在代码中:
[java] view plaincopy
- stub = (ViewStub)findViewById(R.id.keyboardStub);
- stub.inflate();
程序执行到 stub.inflate(); 报错 "ViewStub must have a valid layoutResource". 检查了半天,
才发现是在主xml中设置时使用了<include>标签的用法:
[html] view plaincopy
- layout="@layout/keyboard"
正确的应该是:
[html] view plaincopy
- android:layout="@layout/keyboard"
修改后, 执行正常!
Android_ViewStub
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。