Autore Topic: Dare un valore ad un textview...  (Letto 1002 volte)

Offline smartgatto

  • Utente junior
  • **
  • Post: 97
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S5
  • Sistema operativo:
    Windows 7
Dare un valore ad un textview...
« il: 03 Novembre 2010, 21:20:28 CET »
0
ciao a tutti,
sto facendo un semplice programmetto (sono un niubbio di java) che praticamente prende un numero da un editview(saldomese) e quando premo un pulsante mi dovrebbe uscire il risultato su un textview(credigio) di questa editview sommata a 10...ebbene non riesco a fare l'ultima parte...mi aiutate?

ciò che ho fatto fin'ora è questo:

Codice (Java): [Seleziona]
public class credito extends Activity {
    /** Called when the activity is first created. */
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Button updateButton = (Button)findViewById(R.id.Button);
        updateButton.setOnClickListener(new OnClickListener(){
           
            @Override
            public void onClick(android.view.View v) {
                EditText etxt1 = (EditText)findViewById(R.id.saldomese);
                String val1str = etxt1.getText().toString();
                int val1 = Integer.parseInt(val1str);
                credigio=(val1+10); //credo sia sbagliato qui...
               
            }

           
        });
    }
}
« Ultima modifica: 03 Novembre 2010, 21:57:06 CET da Qlimax »

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Dare un valore ad un textview...
« Risposta #1 il: 03 Novembre 2010, 21:39:24 CET »
0
credigio deve essere una stringa.. poi una volta che hai la stringa crei una textView t e fai t.setText(credigio);
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Dare un valore ad un textview...
« Risposta #2 il: 03 Novembre 2010, 21:43:32 CET »
0
Se credigio è una textview, allora fai come per

EditText etxt1 = (EditText)findViewById(R.id.saldomese);

ma per credigio e non per etxt1 ,chiaramente usando TextView al posto di EditText

poi,

poi fai credigio.setText(""+(val1+10));


Nota: codice non provato


Offline smartgatto

  • Utente junior
  • **
  • Post: 97
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S5
  • Sistema operativo:
    Windows 7
Re:Dare un valore ad un textview...
« Risposta #3 il: 03 Novembre 2010, 21:46:08 CET »
0
credigio deve essere una stringa.. poi una volta che hai la stringa crei una textView t e fai t.setText(credigio);

ma credigio è già una textView..
quindi devo creare una stringa con un altro nome (tipo "valore") su strings.xml e poi fare valore.setText(credigio); ?

grazie e scusa l'ignoranza...

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Dare un valore ad un textview...
« Risposta #4 il: 03 Novembre 2010, 21:48:03 CET »
0
Nel codice che hai postato tu credigio non è definita come stringa.

Dovresti fare String credigio="valore che vuoi tu";
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline smartgatto

  • Utente junior
  • **
  • Post: 97
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S5
  • Sistema operativo:
    Windows 7
Re:Dare un valore ad un textview...
« Risposta #5 il: 03 Novembre 2010, 21:50:52 CET »
0
Se credigio è una textview, allora fai come per

CUT

ho fatto così:
Codice (Java): [Seleziona]
public void onClick(android.view.View v) {
                EditText etxt1 = (EditText)findViewById(R.id.saldomese);
                String val1str = etxt1.getText().toString();
                int val1 = Integer.parseInt(val1str);
                TextView credigio = (TextView)findViewById(R.id.credigio);
                credigio.setText(""+(val1+10));
               
            }

e funziona!!!
grazie millissimo!
« Ultima modifica: 03 Novembre 2010, 21:57:22 CET da Qlimax »

Offline smartgatto

  • Utente junior
  • **
  • Post: 97
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S5
  • Sistema operativo:
    Windows 7
Re:Dare un valore ad un textview...
« Risposta #6 il: 03 Novembre 2010, 22:13:01 CET »
0
un'ultima cosa:
dovrei fare un'ulteriore conto: prendere il giorno di oggi e moltiplicarlo per il valore "credigio" e darlo in pasto ad un textView chiamato "saldoaccu".
Ho fatto aggiunto così:

Codice: [Seleziona]
GregorianCalendar gc = new GregorianCalendar();
                String data = "" + gc.get(Calendar.DAY_OF_MONTH);
                int val3 = Integer.parseInt(data);
               
                saldoaccu.setText(""+(val3*credigio));

ma eclipse mi segnala val3*credigio come The operator * is undefined for the argument type(s) int, TextView

dove sbaglio?

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Dare un valore ad un textview...
« Risposta #7 il: 03 Novembre 2010, 22:34:33 CET »
0
Se saldoaccu è una textview allora:

Codice (Java): [Seleziona]
public void onClick(android.view.View v) {
                EditText etxt1 = (EditText)findViewById(R.id.saldomese);
                int cred = Integer.parseInt(etxt1.getText().toString())+10;
                TextView credigio = (TextView)findViewById(R.id.credigio);
                credigio.setText(""+cred);
                int saldo=gc.get(Calendar.DAY_OF_MONTH)*cred;
                TextView saldoaccu= (TextView)findViewById(R.id.saldoaccu);  //presumo
                saldoaccu.setText(""+saldo);
               
            }

comunque gli elementi grafici (Textview,Edittext ecc) ti converrebbe metterli fuori dall'onclick, magari all'interno di onCreate. Così non vengono ricreati ogni volta che clicchi.



PS: ti dava errore perchè tentavi di moltiplicare una textview con un intero.



« Ultima modifica: 03 Novembre 2010, 22:36:20 CET da Qlimax »

Offline smartgatto

  • Utente junior
  • **
  • Post: 97
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S5
  • Sistema operativo:
    Windows 7
Re:Dare un valore ad un textview...
« Risposta #8 il: 03 Novembre 2010, 22:40:33 CET »
0
Se saldoaccu è una textview allora:

Codice (Java): [Seleziona]
public void onClick(android.view.View v) {
                //CUT :-)
               
            }

comunque gli elementi grafici (Textview,Edittext ecc) ti converrebbe metterli fuori dall'onclick, magari all'interno di onCreate. Così non vengono ricreati ogni volta che clicchi.

PS: ti dava errore perchè tentavi di moltiplicare una textview con un intero.

già...me ne sono accorto dopo...
cmq quando dici che converrebbe metterli fuori perchè sennò vengono ricreati ad ogni click, cosa comporta questa ricreazione?

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Dare un valore ad un textview...
« Risposta #9 il: 03 Novembre 2010, 23:24:39 CET »
0
in generale comporta un uso di risorse (ram/cpu) maggiore, poi il codice risulta più pulito