Android:layout_toLeftOf ~ 没有找到资源
Android:layout_toLeftOf ~ No resource found
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/pickerDialog_title"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="left|center_horizontal"
android:text="HELLO WORLD!!" />
<NumberPicker
android:id="@+id/pickerDialog_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_title" />
<Button
android:id="@+id/pickerDialog_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_selector"
android:layout_toLeftOf="@id/pickerDialog_set" //Cannot find @id/pickerDialog_set
android:gravity="center"
android:text="Cancel" />
<Button
android:id="@+id/pickerDialog_set" //Here it is
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_selector"
android:layout_toRightOf="@id/pickerDialog_cancel"
android:gravity="center"
android:text="Set" />
</merge>
No resource found that matches the given name (at layout_toLeftOf with value @id/pickerDialog_set
我的理解是,android:id
应该作为前缀 @+id/
,并参考了要作为前缀的视图 @id/
如何正确引用 ID?
您应该更改按钮的顺序,即 toLeftOf 这个按钮,因为您不能在创建之前使用 id。您的代码应如下所示:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/pickerDialog_title"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="left|center_horizontal"
android:text="HELLO WORLD!!" />
<NumberPicker
android:id="@+id/pickerDialog_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_title" />
<Button
android:id="@+id/pickerDialog_set" //Here it is
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_selector"
android:gravity="center"
android:text="Set" />
<Button
android:id="@+id/pickerDialog_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_selector"
android:layout_toLeftOf="@id/pickerDialog_set"
android:gravity="center"
android:text="Cancel" />
</merge>
并删除 pickerDialog_set
按钮的 android:layout_toRightOf
,就像我在上面的代码中所做的那样
试试这个 android:layout_toLeftOf="@+id/pickerDialog_set"
。
第一次在布局中添加id时必须添加“+”号(从上到下)。
所以这应该可以解决问题:
android:layout_toLeftOf="@+id/pickerDialog_set"
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/pickerDialog_title"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="left|center_horizontal"
android:text="HELLO WORLD!!" />
<NumberPicker
android:id="@+id/pickerDialog_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_title" />
<Button
android:id="@+id/pickerDialog_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_selector"
android:layout_toLeftOf="@id/pickerDialog_set" //Cannot find @id/pickerDialog_set
android:gravity="center"
android:text="Cancel" />
<Button
android:id="@+id/pickerDialog_set" //Here it is
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_selector"
android:layout_toRightOf="@id/pickerDialog_cancel"
android:gravity="center"
android:text="Set" />
</merge>
No resource found that matches the given name (at layout_toLeftOf with value @id/pickerDialog_set
我的理解是,android:id
应该作为前缀 @+id/
,并参考了要作为前缀的视图 @id/
如何正确引用 ID?
您应该更改按钮的顺序,即 toLeftOf 这个按钮,因为您不能在创建之前使用 id。您的代码应如下所示:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/pickerDialog_title"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="left|center_horizontal"
android:text="HELLO WORLD!!" />
<NumberPicker
android:id="@+id/pickerDialog_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_title" />
<Button
android:id="@+id/pickerDialog_set" //Here it is
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_selector"
android:gravity="center"
android:text="Set" />
<Button
android:id="@+id/pickerDialog_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/pickerDialog_selector"
android:layout_toLeftOf="@id/pickerDialog_set"
android:gravity="center"
android:text="Cancel" />
</merge>
并删除 pickerDialog_set
按钮的 android:layout_toRightOf
,就像我在上面的代码中所做的那样
试试这个 android:layout_toLeftOf="@+id/pickerDialog_set"
。
第一次在布局中添加id时必须添加“+”号(从上到下)。 所以这应该可以解决问题:
android:layout_toLeftOf="@+id/pickerDialog_set"