Autore Topic: Toast taglia le parole  (Letto 877 volte)

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Toast taglia le parole
« il: 08 Gennaio 2011, 12:13:26 CET »
0
ciao a tutti

ho un problema con il toast.

Codice (Java): [Seleziona]
        materie.setAdapter(adapter);//VISUALIZZA SECONDA LISTA. la listview ha questo adapter
       
       
        materie.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
              // When clicked, show a toast with the TextView text
              Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
            }
          });

Per alcuni nomi il toast taglia il nome stesso.
ad esempio se il testo è filosofia...nel toast compare filosofi
se invece scrivo musica, mi visualizza tutta la parola.

Per quale motivo si comporta cosi? non credo sia la lunghezza delle parole perchè ho provato anche con nomi più lunghi che vengono visualizzati correttamente.

grazie

Offline Gambanera

  • Nuovo arrivato
  • *
  • Post: 27
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    Vodafone ideos
  • Play Store ID:
    Gambanera
  • Sistema operativo:
    Ubuntu 10.10 / Windows 7
Re:Toast taglia le parole
« Risposta #1 il: 08 Gennaio 2011, 12:44:43 CET »
0
Prova con
Codice (Java): [Seleziona]
Toast.LENGTH_LONG
al posto di
Codice (Java): [Seleziona]
Toast.LENGTH_SHORT
[Edit]
Avevo letto male la pagina del sdk,chiedo venia :-[
« Ultima modifica: 08 Gennaio 2011, 13:29:14 CET da Gambanera »

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Toast taglia le parole
« Risposta #2 il: 08 Gennaio 2011, 13:11:50 CET »
0
Prova con
Codice (Java): [Seleziona]
Toast.LENGTH_LONG
al posto di
Codice (Java): [Seleziona]
Toast.LENGTH_SHORT

Quella è una lunghezza temporale (di durata breve o lunga) ;)


Non riesco a riprodurre il bug, con quale SDK stai compilando? E su quale SDK lo stai testando?

Come mai utilizzi getApplicationContext() per il contesto? Se sei dentro un'activity sarebbe meglio utilizzare NomeDellaActivity.this.

Questo ti funziona correttamente?
Codice (Java): [Seleziona]
        TextView tv = new TextView(this);
        tv.setText("Filosofia");
       
        Toast.makeText(MainActivity.this, tv.getText(), Toast.LENGTH_SHORT).show();
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Toast taglia le parole
« Risposta #3 il: 09 Gennaio 2011, 01:37:05 CET »
0
ciao e grazie per le risposte...il tutto si è incredibilmente risolto da solo.

Il codice è corretto e con un nuovo lancio sull'emulatore, il toast si visualizza per intero  ;-)  MAH!!

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Toast taglia le parole
« Risposta #4 il: 09 Gennaio 2011, 02:14:29 CET »
0
No! nnt il "bug" continua, non saprei proprio a cosa è dovuto.

Ho provato a stampare il testo in una text view dove i nomi escono completi (filosofia), invece nel toast ho solo (filosofi).
Nel toast, quando lancio l'app, a volte ottengo tutta la parola, a volte viene tagliata.
Ciò accade solo per alcune parole, ad esempio anche con (fg) nel toast ho solo (f).

non saprei...

ho cambiato getContext... con MiaActivity.this il risultato è lo stesso

SDK: Android 2.2 API level 8

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Toast taglia le parole
« Risposta #5 il: 09 Gennaio 2011, 11:57:54 CET »
0
Questo ti funziona correttamente?
Codice (Java): [Seleziona]
        TextView tv = new TextView(this);
        tv.setText("Filosofia");
       
        Toast.makeText(MainActivity.this, tv.getText(), Toast.LENGTH_SHORT).show();
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Toast taglia le parole
« Risposta #6 il: 09 Gennaio 2011, 12:20:17 CET »
0
Prova a mettere un tracciamento per vedere se è il toast a tagliare la stringa oppure se è proprio il metodo .getText() a ritortartela tranciata.

Io comunque non farei come hai fatto te, bensì recupererei la stringa corrispondere all'item cliccato direttamente dalla lista/array in cui hai i dati che mostri nella ListView. Tieni conto che è la posizione cliccata ti viene indicata dal parametro position quindi per ottenere quanto cliccato ti basta fare array[position] oppure tuaLista.get(position)

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Toast taglia le parole
« Risposta #7 il: 09 Gennaio 2011, 13:01:39 CET »
0
x JD: ho provato il codice che hai postato e funziona, cioè il toast visualizza (filosofia) interamente.

x Ricky: Scusa ma non l'ho specificato, non ho inserito degli item per la visualizzazione della lista, ma prelevo i nomi da database...quindi nel mio caso credo che la strada sia diversa.
Per quanto riguarda controllare attraverso dei tracciamenti non saprei proprio come agire.
Cmq credo proprio che sia il toast a tagliare alcune parole, perchè il metodo getText preleva correttamente tutta la parola, che come ho già detto sopra, infatti nella textView è visualizzata tutta.


grazie
« Ultima modifica: 09 Gennaio 2011, 13:19:07 CET da davidelib »