2012-03-18 16 views
13

So come funziona l'istruzione switch ma non so cosa significhi (R.id.webbutton). Qualcuno può spiegare cosa è e anche cosa è il TAG? C'è qualche guida per i principianti? Intendo principianti assoluti.Cosa sono "tag" e "id" nei layout?

+3

Thinking in java vol 1 – Blackbelt

risposta

11

ID id dei componenti del tuo xml [possono essere viste come textview, edittext ... o viewgroup come linearlayout, relativelayout ...o qualsiasi altra cosa] in XML semplicemente si può arrivare riferimento nella codice Java dicendo

(R.id. "id della vista in XML")

ma in primo luogo si dovrebbe usare setContentView (R.layout . "nome del file xml in layout/res nel progetto") questo file xml che si desidera utilizzare i suoi componenti.

TAG lo uso quando voglio mostrare il messaggio in logcat [strumento in eclissi è possibile vedere i messaggi delle app quando è in esecuzione] dicendo String TAG = yourclassname.class.getsimpleName();

e usarlo in Log.d (TAG, "qualsiasi stringa qui" + qualche variabile nella mia classe voglio sapere il suo valore in un particolare momento in cui l'app è in esecuzione);

spero di averlo chiarito.

+0

Sì, grazie mille. Ho iniziato a capirlo. –

+0

perché devi usare la parola TAG? perché non puoi usare altri nomi? – Chaine

+0

@Chaine è solo una convenzione – Blablablabli

3

Inizia con tutorials. (Se sei un principiante che non hai ancora impostato un ambiente di sviluppo, inizia con Installing the SDK.)

Quando si utilizza la funzione di registro della console in Android, il primo argomento dei metodi di registrazione è un tag, che può essere usato per filtrare l'output di logcat. Uno stile di programmazione tipico è:

public class Something { 
    private static final String TAG = "Something"; 

    public void aMethod() { 
     Log.i(TAG, "Entered aMethod"); 
    } 
    . . . 
} 

Ecco cos'è TAG.

Gli ID risorse sono spiegati nel tutorial. Quando si definisce una risorsa in XML, Android genera una classe denominata R con classi nidificate per diversi tipi di risorse (R.id, R.string, R.layout, ecc.). Ciascuna di queste classi annidate ha una costante per ogni risorsa di quel tipo. R.id.webbutton potrebbe essere generato da un file di layout che ha un pulsante con attributo android:id="@+id/webbutton". Questo è tutto spiegato nei tutorial.

+0

Sto leggendo le esercitazioni ma trovo ancora molto difficile comprenderle tutte. So che questi tutorial sono probabilmente i migliori disponibili, ma penso che mi serviranno ancora qualche settimana per passare a tutti loro. Molte grazie. –

+0

un tag può essere applicato a un oggetto con setTag e getTag – matthewlent

+0

@matthewlent - Sì, ma questo è quasi certamente diverso dal 'TAG' (tutto in maiuscolo) che ha confuso OP quando è stato rilevato nel codice. Un'enorme quantità di codice di esempio di Android utilizza una costante di stringa 'TAG' quando mostra qualcosa che sta registrando. –

43

IDs and Tags

ID

Visualizzazioni possono avere un id intero ad essi associati. Questi ID sono tipicamente assegnati nei file XML di layout e vengono utilizzati per trovare le viste specifiche di all'interno dell'albero della vista. Uno schema comune è:

Definire un pulsante nel file di layout e assegnargli un ID univoco.

<Button 
     android:id="@+id/my_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/my_button_text"/> 
    From the onCreate method of an Activity, find the Button 

     Button myButton = (Button) findViewById(R.id.my_button); 

Visualizza gli ID non deve essere unico in tutto l'albero, ma è bene prassi per garantire che essi sono almeno unico all'interno della parte l'albero che si sta cercando.

Tag

A differenza di ID, i tag non sono utilizzati per identificare punti di vista. I tag sono essenzialmente un'ulteriore informazione che può essere associata a una vista. I codici vengono spesso utilizzati per memorizzare i dati relativi alle viste in le viste anziché collocarle in una struttura separata .

tag possono essere specificati con valori sequenza di caratteri nel file XML di layout sia come singolo tag utilizzando l'Android: attributo di tag o più tag utilizzando l'elemento secondario:

<View ... 
     android:tag="@string/mytag_value" /> 
<View ...> 
    <tag android:id="@+id/mytag" 
      android:value="@string/mytag_value" /> 
</View> 

tag possono essere specificati anche con oggetti arbitrari da codice utilizzando setTag(Object) o setTag(int, Object).

+0

Grazie per il link. Ha spiegato la maggior parte dei miei dubbi. –