2

私のプロジェクトでは、グローバル ヘッダー レイアウトを作成し、global_header.xmlそれをすべてのレイアウト XML ファイルで使用し<include layout="@layout/global_header.xml">ます。

以前にこの方法を使用したことがあり、現在このプロジェクトで使用しています。私の問題は、次の内容のレイアウトがあることです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFFFF" >

    <include layout="@layout/global_header" />

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@id/global_header">

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
        </RelativeLayout>
    </ScrollView>

</RelativeLayout>

の内容global_header.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/global_header"
    android:layout_width="fill_parent"
    android:layout_height="60sp"
    android:layout_alignParentTop="true"
    android:background="#FFDDDDDD" >

    <ImageView
        android:id="@+id/global_header_logo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5sp"
        android:layout_marginTop="5sp"
        android:adjustViewBounds="true"
        android:src="@drawable/header" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="1sp"
        android:layout_alignParentBottom="true"
        android:background="#FF000000" />

</RelativeLayout>

そして、私はそれをandroid:layout_below="@global/header"言ってエラーが発生しています:

エラー: エラー: 指定された名前 ('layout_below' で値 '@global/header') に一致するリソースが見つかりませんでした。

プロジェクトの他のレイアウトでインクルードを使用しましたが、問題なく動作しますが、何らかの理由で、このレイアウト ファイルは、他のすべてのレイアウトのようにヘッダーから ID をロードしません。

プロジェクトはこのエラーでビルドされませんが、デバイスで実行すると問題はないと確信していますが、他の誰かがこの問題を抱えていますか? 解決策/回避策はありますか?

どんな助けでも大歓迎です。

4

2 に答える 2

5

これを試して、インクルードレイアウトのIDを指定して使用してください

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFFFF" >

<include layout="@layout/global_header"  android:id="@+id/header"/>

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@id/header">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </RelativeLayout>
</ScrollView>

于 2013-01-31T05:23:01.733 に答える
1

(main.xml & global_header.xml)リソース内のレイアウトフォルダーに両方のxmlが存在することを願っています。

プロジェクトをきれいにしてEclipseを再起動してください。動作します。

注 @ xml を確認しましたが、エラーはありませんでした。

于 2013-01-31T05:11:37.893 に答える