Autore Topic: alertDialog  (Letto 1406 volte)

Offline Christian Giupponi

  • Utente junior
  • **
  • Post: 128
  • Respect: 0
    • Google+
    • http://it.linkedin.com/pub/christian-giupponi/29/628/810
    • ultimoprofeta
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ItalianDevTeam
  • Sistema operativo:
    Mac OSX Lion
alertDialog
« il: 05 Luglio 2010, 19:48:54 CEST »
0
Ciao a tutti,

oggi ho iniziato a scrivere il mio primo codice per android e mi sono imbattuto in un piccolo (per voi) problema!
Nella mia applicazione vorrei controllare all'apertura se è presente una connessione internet e nel caso non ci fosse vorrei, tramite un dialog, dirlo all'utente e fare in modo che nel dialog venga anche inserito un pulsante "chiudi" per chiudere il dialog...

ho scritto questo codice:

Codice (Java): [Seleziona]
package chris.test;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.net.ConnectivityManager;
import android.os.Bundle;

public class test extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
               
        //Controllo se c'è una connessione internet disponibile
        if(!isOnline()){               
                //Creo una finestra di dialogo
            AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
            //Setto il titolo del dialog
            alertDialog.setTitle("ATTENZIONE");
            //Setto il messaggio da visualizzare
            alertDialog.setMessage("Nessuna connessione internet disponibile!");
            //Disabilito il tasto fisico del dispositivo
            alertDialog.setCancelable(false);
            //Aggiungo il tasto di chiusura del dialog
            alertDialog.setPositiveButton("Chiudi", new DialogInterface.OnClickListener() {
                                //Alla pressione del pulsante "chiudi" distruggo il dialog
                                public void onClick(DialogInterface dialog, int which) {
                                        // TODO Auto-generated method stub
                                        dismissDialog();
                                }
                        });                                            
            //Mostro il dialog
            alertDialog.show();
        }
    }
   
    //metodo che controlla se è presente la connessione internet
    public boolean isOnline() {
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        return cm.getActiveNetworkInfo().isConnectedOrConnecting();
    }
}

però ho problemi a questo punto:
Codice (Java): [Seleziona]
public void onClick(DialogInterface dialog, int which) {
                                        // TODO Auto-generated method stub
                                        dismissDialog();
                                }

dato che dismissDialog da quello che ho capito richiede un intero...potete aiutarmi?

EDIT: penso di aver sbagliato sezione, chiedo scusa...potete spostare...
« Ultima modifica: 05 Luglio 2010, 21:28:12 CEST da JD, Reason: Usate i bbcode java e xml!! xD »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:alertDialog
« Risposta #1 il: 05 Luglio 2010, 21:33:54 CEST »
+1
Codice (Java): [Seleziona]
public void onClick(DialogInterface dialog, int which) {
                                        // TODO Auto-generated method stub
                                        dialog.dismiss();
}

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:alertDialog
« Risposta #2 il: 05 Luglio 2010, 21:37:59 CEST »
0
Quoto Ricky`.
Sarei curioso di sapere se è comunque corretto il non catturare direttamente il click quando non si devono eseguire particolari operazioni alla pressione del pulsante:
Codice (Java): [Seleziona]
alertDialog.setPositiveButton("Chiudi", null);
È 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 blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re: alertDialog
« Risposta #3 il: 05 Luglio 2010, 21:45:51 CEST »
0
JD io faccio così.. se non mi serve lascio un pulsante senza listener e si chiude da solo..
Postate il LogCat LogCat LogCat LogCat LogCat

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:alertDialog
« Risposta #4 il: 05 Luglio 2010, 21:48:43 CEST »
0
Sì sì. funzionare funziona, e lo faccio pure io :D.
Mi chiedevo solo se è corretto anche a livello teorico o se invece è buona norma richiamare comunque esplicitamente il dismiss().
È 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 Christian Giupponi

  • Utente junior
  • **
  • Post: 128
  • Respect: 0
    • Google+
    • http://it.linkedin.com/pub/christian-giupponi/29/628/810
    • ultimoprofeta
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ItalianDevTeam
  • Sistema operativo:
    Mac OSX Lion
Re:alertDialog
« Risposta #5 il: 06 Luglio 2010, 14:29:40 CEST »
0
Grazie mille ad entrambi, siete stati molto utili  :-)