Android вперед декларации не работает в 1.6 - PullRequest
4 голосов
/ 01 октября 2010

согласно официальному сайту, Android поддерживает предварительные декларации начиная с версии 1.6.

Отрегулировав требования min SDK и target SDK для '4' в manifest.xml, редактор макетов из 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').

чистка / перестройка не помогла .. кто-нибудь сталкивался по этому вопросу?

1 Ответ

17 голосов
/ 26 декабря 2010

Чтобы использовать прямые ссылки, объявите ссылку (используйте нотацию "@ + id / ...") при первом использовании ссылки, а не фактического элемента.

<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>
...