2015-02-14 8 views
5

È possibile fare riferimento a un drawable se il nome del file è semplicemente un numero?Immagine drawable di riferimento denominata come numero

Example: If I have an image name "1.jpg" in res/drawable it will give me an error if I try to reference it using R.drawable.1

If I have an image name "one.jpg" in res/drawable it will work fine if I try to reference it using R.drawable.one

risposta

2

Risposta breve: No.

Longer risposta:

Il nome del file di ogni incluso risorsa è utilizzata nel confezionamento - sarà assegnato come il nome del campo per un public static final int nella R .java file. Ciò significa che i nomi delle risorse, tra le altre restrizioni, devono soddisfare anche le condizioni per i nomi delle variabili Java.

Nota quello one of the Java tutorials ci ricorda Java di denominazione variabile:

A variable's name can be any legal identifier — an unlimited-length sequence of Unicode letters and digits, beginning with a letter, the dollar sign "$", or the underscore character "_".

Così i seguenti sono validi nomi di variabili Java e saranno compilazione:

public static final int _1=0x7f020000; 
public static final int one=0x7f020001; 

Mentre il seguente nome di variabile causerebbe un errore di compilazione :

public static final int 1=0x7f020000; 

La risposta lunga è t questo è il comportamento esistente in java su cui Android si è basato, mantenendo le stesse restrizioni.

Inoltre, va oltre: R.java non è specifico per i drawable. Noterai che non puoi avere un layout 1.xml o anche un <string name="1"> nel tuo file strings.xml.

+0

Grazie, sono giunto alla conclusione che questo potrebbe essere il motivo per cui. Ha senso, proprio come con le convenzioni di denominazione con le variabili in Java. :-) –

Problemi correlati