ViewStub报错:must have a valid layoutResource解决

前端之家收集整理的这篇文章主要介绍了ViewStub报错:must have a valid layoutResource解决前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

因为在开发LockPri2时,在界面输入密码的地方想设置一个浮动窗体,当主窗体加载完成时,会动画的方式从下至上弹出,

这时候想用ViewStub

主窗体xml:

<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中的布局,在视图中能正常显示.

然后在代码中:

stub = (ViewStub)findViewById(R.id.keyboardStub);
stub.inflate();


程序执行到 stub.inflate(); 报错 "ViewStub must have a valid layoutResource". 检查了半天,

才发现是在主xml中设置时使用了<include>标签用法:

layout="@layout/keyboard"

正确的应该是:

android:layout="@layout/keyboard"

修改后,执行正常!

原文链接:https://www.f2er.com/xml/298357.html

猜你在找的XML相关文章