2010-02-01 10 views
5

Sto tentando di eseguire il debug di qualcosa e voglio far apparire una finestra di dialogo. Eclipse mi sta dicendo che mi vuole "creare Metodo showAlert (string, string, string, boolean)"Come utilizzare il metodo showAlert in Android?

Ho importato questo android.content.DialogInterface importazione;

quale passaggio mi manca?

risposta

0

Sembra che si possa avere una mancata corrispondenza di tipo parametro. Verifica che i tuoi parametri siano in realtà stringhe o booleani. Forse hai bisogno di chiamare toString() sui tuoi oggetti?

+0

Beh, sono andato in un modo diverso ... quelli sono i parametri che sono stati forniti dall'altra pagina di aiuto del blog. Così ora sto usando il builder AlertDialog da developer.android.com ... ho superato questo errore a questo: [2010-02-01 13:41:12 - MobileServiceCallContacts] ActivityManager: java.lang.SecurityException: Permission Denial : inizio Intent {flg = 0x10000000 cmp = com.msi.ibm.tutorial/.MobileServiceCallContacts} da null (pid = -1, uid = -1) richiede android.permission.READ_CONTACTS e sì, ho il permesso impostato in il mio manifest ... dove altro è supposto andare ???? – jkmcgee

+0

Dovresti aprire un'altra domanda per quello ... ma per quanto ne so, solo le autorizzazioni di posizionamento devono essere in AndroidManifest.xml – Justin

6

Se si sta tentando di creare e visualizzare un AlertDialog, è necessario l'utente AlertDialog.Builder ad esempio.

DialogInterface, è come suggerisce il nome, un'interfaccia e ha solo 2 metodi: cancel() e dismiss().

Creazione di un AlertDialog è abbastanza facile:

new AlertDialog.Builder(this) 
.setTitle("Some Title") 
.setMessage("some message") 
.setPositiveButton("OK", new OnClickListener() { 
    public void onClick(DialogInterface arg0, int arg1) { 
     // Some stuff to do when ok got clicked 
    } 
}) 
.setNegativeButton("cancel", new OnClickListener() { 
    public void onClick(DialogInterface arg0, int arg1) { 
     // Some stuff to do when cancel got clicked 
    } 
}) 
.show(); 

che mostra un semplice AlertDialog.

Un consiglio: controlla Activity.showDialog (int) e Activity.onCreateDialog() che semplificano la vita quando si utilizzano i dialoghi.

5

Se si sta mostrando solo un messaggio di debug si può provare Toast.makeText():

Toast.makeText(context, "Hi there!", Toast.LENGTH_SHORT).show(); 

Non dimenticare di chiamare show().

+0

C'è un modo per aggiungere un pulsante di conferma al metodo Toast? Ecco perché voglio usare il metodo di avviso. – jkmcgee

+0

In linea di principio è possibile impostare il layout Toast su qualsiasi cosa si desideri, ma l'uso intensivo di Toast è quello di mostrare piccoli messaggi che vanno via da soli (ad es. Se si modifica il volume audio sul telefono - questo è un Toast che mostra il volume attuale). – Ridcully

+0

Toast.LENGHT_SHORT deve essere Toast.LENGTH_SHORT – AaA

Problemi correlati