Autore Topic: AlertDialog per campo lasciato vuoto  (Letto 574 volte)

Offline Agosteeno

  • Utente normale
  • ***
  • Post: 152
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson - Xperia Neo
  • Sistema operativo:
    Ubuntu 11.04
AlertDialog per campo lasciato vuoto
« il: 01 Aprile 2011, 10:35:43 CEST »
0
Salve a tutti, ho un piccolo problema che non so' come risolvere: in una activity ho un campo dove deve essere inserito un valore intero e poi premere un bottone per "salvarlo". Io devo controllare se questo valore e' stato inserito (non null insomma) e se questo valore e' un intero. Se questo non e' vero, vorrei che fosse visualizzata una finestra di dialogo con un bottone che, una volta premuto, mi consenta di reinserire il valore.

Questo il codice che ho scritto: il problema nasce dopo che clicco sul bottone dell'AlertDialog, invece che ritornare alla stessa activity genera un errore...

Codice (Java): [Seleziona]
private View.OnClickListener onCarica = new OnClickListener() {

                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        EditText numero = (EditText) findViewById(R.id.numero);
                        String campoN = numero.getText().toString();
                        if(campoN.equalsIgnoreCase(""))
                        {
                                AlertDialog.Builder alertDialog = new AlertDialog.Builder(QuestaActivity.this);
                                alertDialog.setCancelable(false);
                                alertDialog.setTitle("WARNING!");
                                alertDialog.setMessage("NON hai inserito il numero");
                                alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                                       
                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                                // TODO Auto-generated method stub
                                                Intent intent = new Intent(getApplicationContext(), QuestaActivity.class);
                                                startActivity(intent);
                                                finish();
                                        }
                                });

                                alertDialog.create().show();
                        }
                        else
                        {
                              ... tutto ok
                         }
Risparmia l'acqua, bevi birra...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re: AlertDialog per campo lasciato vuoto
« Risposta #1 il: 01 Aprile 2011, 10:45:51 CEST »
0
Devi postare il logcat, come da regolamento.

Sent from my HTC Desire

Offline Agosteeno

  • Utente normale
  • ***
  • Post: 152
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson - Xperia Neo
  • Sistema operativo:
    Ubuntu 11.04
Re:AlertDialog per campo lasciato vuoto
« Risposta #2 il: 01 Aprile 2011, 10:52:27 CEST »
0
Il problema e' che il logcat non scrive nulla (o quasi)! Eclipse cerca di aprire la prospettiva di debug, che sinceramente non so' usare, e nel logcat compare solo il messaggio che dice che il timeout per il lancio dell'activity e' terminato...
Risparmia l'acqua, bevi birra...

Offline Agosteeno

  • Utente normale
  • ***
  • Post: 152
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson - Xperia Neo
  • Sistema operativo:
    Ubuntu 11.04
Re:AlertDialog per campo lasciato vuoto
« Risposta #3 il: 01 Aprile 2011, 11:09:56 CEST »
0
Penso di aver intuito il problema: all'inizio di questa activity, prendo dei dati da un Bundle, quindi quando cerca di prendere questi dati va' in crash. La cosa che vorrei sarebbe diciamo cosi' "ciclare" sul campo che sto' inserendo... Diciamo che vorrei che l'effetto fosse come un
Codice (Java): [Seleziona]
while(inserisciRisorsa == null)
{
      StampaMessaggio("Inserimento sbagliato");
}
prosegui correttamente...
invece di far ripartire completamente l'activity...
Risparmia l'acqua, bevi birra...

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:AlertDialog per campo lasciato vuoto
« Risposta #4 il: 01 Aprile 2011, 11:18:19 CEST »
0
Il codice è molto parziale e faccio molta fatica a immaginare dove potrebbe essere l'errore.

Quello che non capisco è per quale ragione all'interno della Dialog richiami una seconda activity tramite Intent.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Agosteeno

  • Utente normale
  • ***
  • Post: 152
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson - Xperia Neo
  • Sistema operativo:
    Ubuntu 11.04
Re:AlertDialog per campo lasciato vuoto
« Risposta #5 il: 01 Aprile 2011, 11:20:00 CEST »
0
Si infatti, e' che non mi e' venuto in mente come risolvere la situazione. In pratica quello che dovrei fare sarebbe semplicemente aspettare un nuovo click sul bottone per l'inserimento. Solo che non so' come fare!
Risparmia l'acqua, bevi birra...

Offline Agosteeno

  • Utente normale
  • ***
  • Post: 152
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson - Xperia Neo
  • Sistema operativo:
    Ubuntu 11.04
Re:AlertDialog per campo lasciato vuoto
« Risposta #6 il: 01 Aprile 2011, 11:57:24 CEST »
0
Problema risolto... Sono ancora un po' scarso e non so' bene come usare gli strumenti... In pratica basta creare le finestre di dialogo non all'interno degli onclicklistener dei bottoni, ma in funzioni dedicate... Uso la onCreateDialog(id) per associare un id alle finestre e dove richiesto faccio la showDialog() della finestra in questione. Scusate per il disturbo e grazie per la disponibilita'! :)
Risparmia l'acqua, bevi birra...