Frage

Ich habe einen Tabhost mit 2 Registerkarten in meiner Hauptaktivität, für die 2. Registerkarte habe ich eine Listenansichtsabsicht als Inhalt hinzugefügt.Alles funktioniert gut.Jetzt habe ich überschrieben onCreateDialog() methode in der Listenansicht (2. Registerkarte), als ich einen Anruf getätigt habe showDialog(MY_DIALOG); Methode onCreateDialog() wird angerufen, aber ich bekomme eine Warnung im LogCat wie

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

Kann mir jemand helfen, wie man das Dialogfeld in der Aktivität von Tabhost anzeigt.

//bearbeiten

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);                
}

Danke im Voraus.-Nehatha

War es hilfreich?

Lösung

Ändern return super.onCreateDialog(id); zu return alert;.Ich gehe davon aus, dass ein anderer Teil Ihrer Aktivität ShowDialog(int) aufruft.Wenn nicht, möchten Sie dies entweder tun oder die show-Methode im zurückgegebenen Dialogfeld von onCreateDialog (id) aufrufen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top