Quando la EditText è vuova e premo su Button si chiude tutto

di Anonimizzato11068 il
14 risposte
Quando la EditText è vuova e premo su Button si chiude tutto. Ho capito la causa ma non so come risolverla. Il problema penso sia qui:

EditText c = (EditText) this.findViewById(R.id.m);
Editable codice = c.getText();

getText() non può prendere nulla perché non c'è niente dentro il tag.

Ho anche provato a scrivere:

if (codice==null... non fare un fico secco di nulla ma il programma si blocca ugualmente quindi non so come posso fare. In sostanza dovrei dire:

leggi ma se non c'è niente non procedere con il programma... il problema è che per capire che non c'è niente devo per forza leggere!

14 Risposte

  • Prova a fare
    String codice = c.getText().toString()
    Ma poi cosa vuol dire "si chiude tutto"? Dà qualche eccezione?
  • minomic ha scritto:


    Prova a fare
    String codice = c.getText().toString()
    Ma poi cosa vuol dire "si chiude tutto"? Dà qualche eccezione?
    grazie per il consiglio, purtroppo neppure quello funziona...
  • peruzzo ha scritto:


    grazie per il consiglio, purtroppo neppure quello funziona...
    E riguardo alla mia domanda?
    Cosa vuol dire "si chiude tutto"? Dà qualche eccezione?
  • Scusami non l'ho vista. Il programma si chiude e mi da questo errore:

    The application aaa (process nome_package) has stopped unexpectedly. Please try again.

    Se riclicco sull'icona del programma riparte senza problemi e appena riclicco sul bottone con l'EditText vuota ritrovo lo stesso avviso... tolto questo problema il programma funziona alla perfezione...
  • Ok, quella è solo la notifica di chiusura ed è sempre uguale... Stai sviluppando con Eclipse, giusto? Se vai a vedere nel LogCat (strumento utilissimo durante il debug) ti compariranno alcune scritte rosse con la descrizione precisa dell'eccezione (ad es NullPointerException, ...) e la riga che la genera.
  • Si esattamente, uso eclipse... vado a vedere...
  • Nessun errore! non vedo nessun errore...
  • Premo su ForceClose dopo che ho letto il messaggio che ti ho postato quindi ci deve essere un errore... perché Eclipse non mi dice nulla? Bisogna vedere nella Error Log giusto? ci sono errori ma sono di ora più vecchia e non sono relativi alla classe che sto considerando... strano perché avevo fatto in passato un'applicazione che nel caso in cui nell'edittext non ci fosse scritto nulla il programma avrebbe dovuto avvertire... in quell'occasione ora che ci penso usai (nome.length()<1) come metodo di verifica... in questo caso però non funziona... mannaggia a me...
  • peruzzo ha scritto:


    premo su ForceClose dopo che ho letto il messaggio che ti ho postato quindi ci deve essere un errore... perché Eclipse non mi dice nulla? Bisogna vedere nella Error Log giusto?
    Non in ErrorLog ma in LogCat!
  • Per mostrare il LogCat: Windows->View->show view -> Other -> android -> logcat. Nel caso dovesse risultare vuoto, oltre a questo devi mostrare anche l'emulator controller e cliccare sul dispositivo da debuggare.
  • Ho capito dove stava l'errore... praticamente c'era un metodo subito dopo che prendeva la variabile codice ovviamente vuota. Però non capisco ugualmente...

    Il comando seguente:

    String codice = c.getText().toString()

    cosa salva in codice se non c'è testo nell'EditText? di certo non null e non una stringa strana perché avevo già messo delle opportune if... alla fine ho risolto con un try catch ma non ho mica capito perché!
  • Immagino che salvi una stringa vuota, ovvero "".
  • Scusa potresti postarmi il codice del try and catch che hai realizzato? Ho il tuo stesso problema e non so come uscirne! Grazie!
  • Alb ha scritto:


    Scusa potresti postarmi il codice del try and catch che hai realizzato? Ho il tuo stesso problema e non so come uscirne! Grazie!
    Ciao,
    meglio evitare di riesumare discussioni di anni fa. Se hai un problema, conviene che tu apra una nuova discussione.

Devi accedere o registrarti per scrivere nel forum
14 risposte