2012-10-01 12 views
10

Sono nuovo nello sviluppo di app per Android e utilizzo del linguaggio Java. Il mio problema è ogni volta che creo un TextView o Button c'è un triangolo con il punto esclamativo sotto di loro. e quando lo scatto ho visto un messaggio che dice:stringa "Pulsante" hardcoded, dovrebbe usare la risorsa @string

stringa hardcoded “Button”, dovrebbe utilizzare risorse @String

Ho due attività, nella mia attività principale è presente un pulsante che, quando clicchi andrai in seconda attività. Ma quando vado al mio main.java per fare un codice per il pulsante. C'è sempre l'errore sopra indicato. Penso che l'eclissi non riesca a trovare l'id del mio pulsante e lo stesso per il mio TextView hanno lo stesso messaggio di errore.

Ecco il codice che ho fatto:

Button b = FindViewById(R.id.button1); 

Ho anche aggiungere:

Button b = (Button) FindViewById(R.id.button1); 

Sto usando l'ultima classica Eclipse e ADT numero di agosto. La piattaforma è Android 4.1 API 16.

risposta

12

Non si deve hardcode il "testo" sui widget utilizzare le risorse di stringhe ie., Stringhe nel file strings.xml per impostare il testo. Dichiarare il "testo" che si desidera visualizzare come stringa in strings.xml e accedervi utilizzando @ string/your_string_name nel file di layout.

+1

come questo: pulsante

+1

basta usare button1 al posto del pulsante e le cose dovrebbero andare bene. Accetta la mia risposta e svalutala se ti ha aiutato. –

1

Main.xml file (The xml file which relates to the main activity)

Avviso l'id del pulsante, che è arrotondato in rosso. Devi usare questo ID quando si desidera chiamare in un metodo, per un esempio

Button b = (Button) FindViewById(R.id.button1); 

Inoltre, controllare se il vostro layout grafico corrisponde con l'immagine che ho fornito.

Graphical view of the Main.xml file

Basta provare di nuovo il codice con questi cambiamenti. Il tuo main.java sarebbe simile a questo.

Main.java file

Problemi correlati