4

公式サイトによると、Androidはバージョン1.6以降の前方宣言をサポートしています。

最小SDKとターゲットSDKの両方の要件をmanifest.xmlで「4」に調整した後も、Eclipseのレイアウトエディターは、相対レイアウトでの不明な宣言について不平を言っています。

<xml>

<CheckBox 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"
  android:id="@+id/ChkBoxSaveuser"
  android:text="@string/options_saveuser"
  android:layout_above="@id/ChkBoxSavePwd"
  android:layout_marginTop="20dp"
  android:layout_alignLeft="@id/EditTxtServer"/>

 <EditText 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/EditTxtServer" 
  android:maxLines="1"
  android:minWidth="200dp"
  android:layout_marginTop="10dp"
  android:layout_gravity="center_horizontal"
  android:layout_above="@id/ChkBoxSaveuser"/>

</xml>

この行に複数の注釈が見つかりました:

  • エラーエラー:指定された名前に一致するリソースが見つかりません(「layout_above」で値「@ id / ChkBoxSavePwd」)。

  • エラーエラー:指定された名前に一致するリソースが見つかりません(「layout_alignLeft」で値「@ id / EditTxtServer」)。

クリーン/再構築は役に立ちませんでした..誰かがこの問題に遭遇しましたか?

4

1 に答える 1

17

To use forward references, declare the reference (use the "@+id/..." notation) the first time you use the reference, not on the actual element.

<xml>

<CheckBox 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"
  android:id="@+id/ChkBoxSaveuser"
  android:text="@string/options_saveuser"
  android:layout_above="@+id/ChkBoxSavePwd"
  android:layout_marginTop="20dp"
  android:layout_alignLeft="@+id/EditTxtServer"/>

 <EditText 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@id/EditTxtServer" 
  android:maxLines="1"
  android:minWidth="200dp"
  android:layout_marginTop="10dp"
  android:layout_gravity="center_horizontal"
  android:layout_above="@id/ChkBoxSaveuser"/>

</xml>
于 2010-12-26T04:28:50.850 に答える