Autore Topic: TextView e getstring()  (Letto 608 volte)

Offline ricky1966

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Kubuntu
TextView e getstring()
« il: 24 Gennaio 2011, 08:30:02 CET »
0
Ciao ho provato a scrivere questo codice :
Codice (Java): [Seleziona]
package com.hellotextview;

import android.app.Activity;

public class HelloTextView extends Activity {
    /** Called when the activity is first created. */

    public TextView tv,label;
    public Button bt,quit;
    public String testo = "eee";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv = (TextView) findViewById(R.id.entry);
        label = (TextView) findViewById(R.id.label);
        bt = (Button) findViewById(R.id.ok);
        quit = (Button) findViewById(R.id.quit);
        testo = tv.getText().toString();
        bt.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                //testo += "\nRicky!";
                label.setText(testo);
                }
        });
        quit.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                //testo += "CIAO!";
                label.setText(testo);
                }
        });
    }
}


dpaste: #347912: Codice Ricky1966, by Ricky1966
Ovviamente è sbagliato, ma non capisco in cosa sbaglio, potreste aiutarmi.
Grazie. Ricky
« Ultima modifica: 24 Gennaio 2011, 18:02:15 CET da JD »

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:TextView e getstring()
« Risposta #1 il: 24 Gennaio 2011, 08:34:46 CET »
0
Cos'è che vorresti fargli fare e quale errore ti esce?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ricky1966

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Kubuntu
Re:TextView e getstring()
« Risposta #2 il: 24 Gennaio 2011, 09:52:27 CET »
0
Hai ragione, mi sono dimenticato di dire la cosa piu importante. Allora vorrei ottenere il valore iniziale della TextView e aggiungere poi un altra stringa. Formalmente non ottengo errori, il codice funziona, ma io vorrei che la string testo fosse caricata con il valore per esempio se all avvio della app la TV vale "pippo" allora la stringa testo dovrebbe valere "pippo", io poi le aggiungo "pluto" e la TV attraverso una setText(testo) dovrebbe valere "pippopluto", e cosi via. Ma e chiaro che sbaglio in qualcosa, non riesco ad ottenere il valore della TV attraverso la getText().
Spero di essermi spiegato, Ricky

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:TextView e getstring()
« Risposta #3 il: 24 Gennaio 2011, 10:01:09 CET »
0
Hai ragione, mi sono dimenticato di dire la cosa piu importante. Allora vorrei ottenere il valore iniziale della TextView e aggiungere poi un altra stringa. Formalmente non ottengo errori, il codice funziona, ma io vorrei che la string testo fosse caricata con il valore per esempio se all avvio della app la TV vale "pippo" allora la stringa testo dovrebbe valere "pippo", io poi le aggiungo "pluto" e la TV attraverso una setText(testo) dovrebbe valere "pippopluto", e cosi via. Ma e chiaro che sbaglio in qualcosa, non riesco ad ottenere il valore della TV attraverso la getText().
Spero di essermi spiegato, Ricky
te fai il getText all'inizio e 1 sola volta.
se te apri l'app la tv è vuota,e li fai il getText.
poi piu avanti la modifichi ma il programma non sa che l'hai modificata, perchè gli manca un Listener. Non so di preciso quale listener ci voglia sulla textView, ma bisogna usare quelli!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
Re:TextView e getstring()
« Risposta #4 il: 24 Gennaio 2011, 10:05:06 CET »
0
se ho capito cosa vuoi fare (fare l'append di più stringhe che vai a digitare di volta in volta)...forse hai bisogno di questo:
StringBuilder | Android Developers

In realtà potresti banalmente prendere la stringa attuale dalla tv metterla in una variabile e settare la stessa variabile a: contenuto della variabile + contenuto nuovo, risettare la tv a questo nuovo valore e... via :)

byeeeeeeeeee

Offline ricky1966

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Kubuntu
Re:TextView e getstring()
« Risposta #5 il: 24 Gennaio 2011, 10:07:18 CET »
0
Ma io alla TV ho dato una valore nel file.xml, percio dovrebbe almeno restituirmi qjel valore

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:TextView e getstring()
« Risposta #6 il: 24 Gennaio 2011, 10:15:35 CET »
0
ok, ora la spiegazione è piu tecnica:
se te fai testo = tv.getText().toString() tu non copi la stringa ma la referenzi.

La documentazione di getText() dice:
TextView | Android Developers
Citazione
Return the text the TextView is displaying. If setText() was called with an argument of BufferType.SPANNABLE or BufferType.EDITABLE, you can cast the return value from this method to Spannable or Editable, respectively. Note: The content of the return value should not be modified. If you want a modifiable one, you should make your own copy first.
Per fare una copia,vedi qui:
Copy a string - Rosetta Code
Se usi stringBuffer vai sul sicuro!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ricky1966

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Kubuntu
Re:TextView e getstring()
« Risposta #7 il: 24 Gennaio 2011, 18:59:43 CET »
0
Sono un pirla, portate pazienza l'ho risolta, mi ero dimenticato una parte della questione, settavo la TV che si chiama label e non lo facievo anche con la TV tv, ora funziona come pensavo che dovesse funzionare. Ora metto apposto due cosuccie e dovrei esserci. Grazie per la pazienza Ricky