error: Error: No resource found that matches the given name (at 'layout_above' with value '@id/btnLayout').

今天在练习fragment碎片的时候,进行界面布局的时候出现了这个问题。

后来解决后发现原因很简单:就是因为在布局xml文件中,引用ID和声明ID的顺序必须保证声明在前,引用在后。和布局的顺序无关。

【声明ID——android:id="@+id/btnLayout"。引用ID——android:layout_above="@id/btnLayout"】

出现错误的代码:

<RelativeLayout 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="com.why.practice.viewpagerfragment1.MainActivity" >

    <FrameLayout
        android:id="@+id/fragmentLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_above="@id/btnLayout"
        android:layout_centerHorizontal="true">
    </FrameLayout>
    
    <LinearLayout
        android:id="@+id/btnLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true">
        
        <Button 
            android:id="@+id/btn_one"
            android:layout_width="0.0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_margin="5dp"
            android:text="@string/btn_oneText"
            android:background="#009eff"
            android:textColor="#fff"
            style="?android:attr/buttonBarButtonStyle"
            />
        
        <Button 
            android:id="@+id/btn_two"
            android:layout_width="0.0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_margin="5dp"
            android:text="@string/btn_twoText"
            android:background="#009eff"
            android:textColor="#fff"
            style="?android:attr/buttonBarButtonStyle"
            />
        <Button 
            android:id="@+id/btn_three"
            android:layout_width="0.0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_margin="5dp"
            android:text="@string/btn_threeText"
            android:background="#009eff"
            android:textColor="#fff"
            style="?android:attr/buttonBarButtonStyle"
            />
        
    </LinearLayout>
    
</RelativeLayout>

正确的代码:

<RelativeLayout 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="com.why.practice.viewpagerfragment1.MainActivity" >

    
    <LinearLayout
        android:id="@+id/btnLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true">
        
        <Button 
            android:id="@+id/btn_one"
            android:layout_width="0.0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_margin="5dp"
            android:text="@string/btn_oneText"
            android:background="#009eff"
            android:textColor="#fff"
            style="?android:attr/buttonBarButtonStyle"
            />
        
        <Button 
            android:id="@+id/btn_two"
            android:layout_width="0.0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_margin="5dp"
            android:text="@string/btn_twoText"
            android:background="#009eff"
            android:textColor="#fff"
            style="?android:attr/buttonBarButtonStyle"
            />
        <Button 
            android:id="@+id/btn_three"
            android:layout_width="0.0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_margin="5dp"
            android:text="@string/btn_threeText"
            android:background="#009eff"
            android:textColor="#fff"
            style="?android:attr/buttonBarButtonStyle"
            />
        
    </LinearLayout>
    
    <FrameLayout
        android:id="@+id/fragmentLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_above="@id/btnLayout"
        android:layout_centerHorizontal="true">
    </FrameLayout>
    
</RelativeLayout>
原文地址:https://www.cnblogs.com/whycxb/p/4771131.html