Autore Topic: Bottone.setTest "da i numeri"  (Letto 409 volte)

Offline astropegaso61

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
Bottone.setTest "da i numeri"
« il: 22 Febbraio 2014, 11:39:51 CET »
0
Salve a tutti,
modificando il testo visibile sul Button ottengo un risultato per me inaspettato.

Tutto normale se per rinominare il testo visibile sul bottone utilizzo uno dei seguenti modi:
btn1.setText(R.string.lingua);  // OK!
btn1.setText("mio testo"); // OK!
btn1.setText("mio testo"+" " +s.getSelectedItem().toString()); // OK!

se invece voglio mostrare sia la risorsa della stringa + il valore dello spinner in questo modo:
btn1.setText(R.string.lingua+" " +s.getSelectedItem().toString());
al posto della risorsa stringa ottengo un numero a me sconosciuto del tipo:

Ottengo: 2131165185 Italiano

anzichè: Lingua scelta Italiano

Cosè che non và?
Come posso fare per popolare il testo mostrato sul bottone prendendo le stringhe sia
dalla risorsa, (R.string.lingua), che
dal valore, s.getSelectedItem().toString() mostrato dallo spinner:

Grazie anticipate,
« Ultima modifica: 22 Febbraio 2014, 11:42:22 CET da astropegaso61 »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Bottone.setTest "da i numeri"
« Risposta #1 il: 22 Febbraio 2014, 11:51:14 CET »
0
Molto semplice, basta aprire la spiegazione di setText() nella classe Button. Quella che ti sembra una unica setText() sono in realtà due funzioni distinte (diverse per i parametri):

Codice (Java): [Seleziona]
final void      setText(int resid)
final void      setText(CharSequence text)

Con il primo esempio usi la prima, con i secondi due usi la seconda, con l'esempio che non ti funziona usi la seconda e quindi ti esce il numero dell'id e non la risorsa ad esso collegata.

Dovrebbe bastare scrivere:
Codice (Java): [Seleziona]
btn1.setText(getString(R.string.lingua)+" " +s.getSelectedItem().toString());
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline astropegaso61

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
Re:Bottone.setTest "da i numeri"
« Risposta #2 il: 22 Febbraio 2014, 12:07:48 CET »
0
TROOOOOPPO FORTE!  :-) :-) :-) :-)

Grazie.

Offline FrancescoAndroid

  • Utente junior
  • **
  • Post: 69
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    GiMiSiS Interactive
  • Sistema operativo:
    Android 2.3.3
Re:Bottone.setTest "da i numeri"
« Risposta #3 il: 10 Marzo 2014, 15:02:37 CET »
0
oppure puoi usare getresource ma sicuramente il metodo suggerito è migliore