我正在构建一个简单的待办事项列表应用程序.我试图通过相对于彼此定位来组织我的布局.我通过调用像
android这样的
XML属性来做到这一点:layout_toStartOf =“@ id / to_do_btn”,但是我找到了一个匹配给定名称错误的No Resource.我基本上尝试了Stackoverflow上的每个解决方案但没有任何帮助.这是我的XML:
<?xml version="1.0" encoding="utf-8"?> <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="myapp.onur.todo.MainActivity"> <ListView android:id="@+id/to_do_list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:layout_above="@id/to_do_btn" android:layout_margin="5dp" > </ListView> <EditText android:id="@+id/to_do_editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="Enter Something To Do" android:layout_toStartOf="@id/to_do_btn" android:layout_alignParentBottom="true" android:layout_alignParentStart="true" android:layout_alignTop="@id/to_do_btn" android:layout_below="@id/to_do_list" android:layout_margin="5dp" /> <Button android:id="@+id/to_do_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="add item" android:layout_margin="5dp" android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" /> </RelativeLayout>
这是错误的一个示例:错误:(15,31)找不到与给定名称匹配的资源(在’layout_above’中,值为’@ id / to_do_btn’).
我不知道是怎么回事.如果它有帮助,这是我的gradle依赖项:
dependencies { compile fileTree(include: ['*.jar'],dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',{ exclude group: 'com.android.support',module: 'support-annotations' }) compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:26.0.0-alpha1' }
解决方法
更改
android:layout_above="@id/to_do_btn"
至
android:layout_above="@+id/to_do_btn"
或者像这样订购你的布局
<Button android:id="@+id/to_do_btn" ... /> <ListView ... android:layout_above="@id/to_do_btn" > </ListView>