RelativeLayout, невозможно разрешить идентификатор - PullRequest
2 голосов
/ 23 июля 2011

Я пытался расположить представления в RelativeLayout так:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView android:text="TextView" android:id="@+id/upperView"
        android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/bottomView"></TextView>
    <TextView android:text="TextView" android:id="@+id/bottomView"
        android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</RelativeLayout>

и этот идентификатор не распознается андроидом:

 android:layout_below="@id/bottomView"

потому что я определил @+id/bottomView" после его вызова, но иногда что-то вроде , чтобы выяснить, кто за кем, я могу решить это из кода, но как это исправить в XML

Ответы [ 4 ]

7 голосов
/ 23 июля 2011

В вашем макете, когда определите:

@+id/bottomView"

Знак плюс (+) означает, что это новое имя ресурса, которое необходимо создать и добавить в наши ресурсы (в файле R.java)

При ссылке на идентификатор ресурса Android вам не нужен символ плюса, но вы должны добавить пространство имен пакета Android (Ref.1)

Итак, измените свой XML-макет следующим образом :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView 
        android:text="DownTextView" 
        android:id="@+id/upperView"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/bottomView">
    </TextView>
    <TextView 
        android:text="UpTextView" 
        android:id="@id/bottomView"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">
    </TextView>
</RelativeLayout>

Ссылка : 1 Документ с идентификатором макета Android

1 голос
/ 20 августа 2011

я решил, просто добавьте + перед id ключевым словом в макете xml

0 голосов
/ 23 июля 2011

Вам нужно сначала создать bottomView, а затем использовать layout_below, потому что android / java создают вещи в том порядке, в каком вы их сделали.Надеюсь, это поможет.

0 голосов
/ 23 июля 2011

Как вы можете сделать вид сверху, чтобы быть снизу, логически это мне не соответствует?

Вы должны поступить иначе.В bottomview вы добавляете android:layout_below="@id/upperview"

, так как дно ниже чего-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...