Autore Topic: R. dinamico  (Letto 517 volte)

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
R. dinamico
« il: 05 Febbraio 2012, 17:04:35 CET »
0
Scusate il titolo un pò strano ma non sapevo come chiamare il post..

Allora il punto è questo: ho strutturato una semplice activity che riceva da un'altra un indica (0,1, ...); in base a quest'indice deve andare a prelevare la giusta stringa e visualizzarla in una textView in html..
Posto un pezzetto di codice per capirci:
Codice (Java): [Seleziona]
String test = "R.string."+"testHtml"+view;
String myHtml = getString(test);

La stringa "text" è in "valore" della stringa da prendere nel file R.string; il problema è che non so come associare il tutto..
Facendo nel modo riportato ovviamente da errore perchè getString(test) non è un int e, anche facendo un cast, ovviamente va in eccezione..
Come potrei fare?
Le stringhe sn tutte contenute nel file string.xml e vorrei quindi un modo furbo per mostrarne il conetnuto..

Grazie..
 :-[

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:R. dinamico
« Risposta #2 il: 05 Febbraio 2012, 17:36:49 CET »
0
Scusa non capisco come posso usarla..
La stringa deve cercarla nel file strings.xml e deve anche prendere qll corretta in base alla lingua.. Se utilizzo
Codice (Java): [Seleziona]
String test = "testHtml"+view; //test potrà valere testHtml0, testHtml1, etc...
int StringId = getResources().getIdentifier(test,"values",getPackageName());
Log.i("test1", ""+StringId);

Mi restituisce sempre 0...
Dove sbaglio?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:R. dinamico
« Risposta #3 il: 05 Febbraio 2012, 18:16:45 CET »
0
e mettendo "string" al posto di "values"?

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:R. dinamico
« Risposta #4 il: 05 Febbraio 2012, 18:22:37 CET »
0
Ecco la soluzione
Codice (Java): [Seleziona]
                int StringId = getResources().getIdentifier(test,"string",getPackageName());
               
                String myHtml = getString(StringId);
                html.setText( Html.fromHtml( myHtml ), TextView.BufferType.SPANNABLE );
                //Rendiamo eventuali link cliccabili
                Linkify.addLinks( html, Linkify.ALL );

Grazie...