Domanda

Ho un Tabhost con 2 schede all'interno della mia attività principale, per la 2a scheda ho aggiunto una vista elenco intenti come contenuti. Tutto sta lavorando bene. Ora ho sovrascritto il metodo onCreateDialog() nella vista Elenco (2a Tab), quando ho effettuato una chiamata al metodo showDialog(MY_DIALOG); onCreateDialog() viene chiamato ma sto ricevendo un avviso nel logcat come

"WARN/InputManagerService(58): Window already focused, ignoring 
focus gain of:  com.android.internal.view.IInputMethodClient$Stub$Proxy@44ee6948"
.

Qualcuno può aiutarmi come mostrare la finestra di dialogo all'interno dell'attività di Tabhost.

// Modifica

protected Dialog onCreateDialog(int id) {
Log.v(Constants.LOGTAG, " " +CLASSTAG+ " onCreateDialog(): +++ START +++");
AlertDialog.Builder builder = new AlertDialog.Builder(this);        
switch (id) {
    case DIALOG_MY_TYPES: {
        Log.v(Constants.LOGTAG, " " +CLASSTAG+ " onCreateDialog(): DIALOG_MY_TYPES");
        CharSequence[] items = {"option1", "option2", "option3"};
        builder.setTitle("Select").setItems(items,
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                    Log.d(CLASSTAG, "item selected = " + item);
                    dialog.cancel();
                }
            }).setNegativeButton("Cancel",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Log.d(Constants.LOGTAG, " "+CLASSTAG+" Cancel button is clicked");
                    dialog.cancel();
                }
            }); 
    }

}//switch
alert = builder.create();
Log.v(Constants.LOGTAG, " " +CLASSTAG+ " onCreateDialog(): +++ END +++");
return super.onCreateDialog(id);                
}
.

Grazie in anticipo. -Nehatha

È stato utile?

Soluzione

Cambia return super.onCreateDialog(id); a return alert;.Suppongo che un'altra parte della tua attività stia chiamando showDialog (int).In caso contrario, vuoi farlo, o chiarire il metodo Mostra sulla finestra di dialogo restituito da ONCreateDialog (ID).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top