Como adicionar id a public.xml?
No meu projeto, precisei definir IDs sempre constantes para o Views. Quero dizer, IDs constantes entre as diferentes construções de aplicativos. Após algumas investigações, descobri que isso pode ser conseguido usandovalues/public.xml
e qualquer ID declarado nesse arquivo não seria alterado em construções futuras. Agora o problema é que não consigo definir um id de uma view em algum arquivo de layout. Este é o meu layout.xml contendo um ImageView com um Id que deve ser adicionado ao public.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/menu_item_selector" >
<ImageView
android:id="@+id/index_row_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/padding_small" />
<ImageView
android:id="@+id/index_row_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/index_row_search" />
<TextView
android:id="@+id/index_row_caption"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/index_row_icon"
android:layout_toRightOf="@id/index_row_search"
android:gravity="right"
android:textAppearance="?android:attr/textAppearanceLarge" />
e este é o arquivo public.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="string" name="no_internet" id="0xAA0a0001" />
<public type="id" name="index_row_search" id="0xAA0b0015" />
</resources>
eclipse mostra um erro na linha onde eu adicionei o id de "index_row_search" e diz:
error: Public symbol id/index_row_search declared here is not defined!
mas como você pode ver no arquivo de layout acima, eu tenho um ImageView com esse id. Está se perguntando que a definição de id da string uma linha acima não tem erro!
Então, como devo definir o ID de um View em public.xml?