Un'altra applicazione per id.xml è rispetto al layout e progetti di libreria. Diciamo si specifica un elenco generico di opzioni in una libreria (finestra) Layout
<CheckedTextView android:id="@+id/checked_option_one"...
<CheckedTextView android:id="@+id/checked_option_two"...
...
e gestire questi punti di vista in un generico (finestra) frammento
optionOneCheck = (CheckedTextView)rootView.findViewById(R.id.checked_option_one);
optionTwoCheck = (CheckedTextView)rootView.findViewById(R.id.checked_option_two);
Se si rimuove qualsiasi delle dichiarazioni vista da una copia del layout in un progetto principale, si otterrà un'eccezione di errore "no tale campo" in fase di esecuzione.
Il compilatore non si lamenta, ma in fase di esecuzione l'ID non è effettivamente lì/conosciuto.
Dichiarare gli ID di id.xml e utilizzando
<CheckedTextView android:id="@id/checked_option_one"...
...
evita l'errore di runtime
Qualsiasi vantaggio nel definirlo in "ids.xml" al contrario di fare semplicemente ... android: id = "@ + id/snack"? – pyko
Quindi, dovrei usare android: id = "@ + id/newID" o dichiarare newID sul file ids.xml? Qual è la soluzione migliore? –
potresti usarlo anche per i tag 'view.setTag (id, value)' per leggere quel tag dalla tua vista più tardi ... – SparK