problema na Overriding função backkeys padrão

votos
0

Na minha aplicação, eu substituir funções backkey padrão do Android (por onkeydown Override) .Seu funciona fine.But quando um padrão componentes rotadores selecionar elementos janelas e teclado virtual (no Android 1.5) entrar na tela padrão de volta chaves funcionalidade em colapso por causa da minha primordial.

Existe alguma maneira de resolver este problema? ou o que é o nome do virtualkeypadwindow e componentes rotadores janela? Obrigado. . .

Publicado 27/08/2009 em 07:18
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

O problema é quando há um diálogo na tela que é realmente uma atividade completamente separado, os ajudantes de diálogo simplesmente escondê-lo de você. Há apenas 2 maneiras que você poderia resolver isso (dependendo do que você está tentando fazer).

Você poderia estender o tipo de diálogo que você está usando e e substituir o onKeyPress dentro de você está derivada classe, em seguida, usá-lo em vez de diálogo padrão do sistema.

public class MyDialog extends ProgressDialog {
    /*  ...  */

    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            // handle the keypress
            return true;
        }
        return false;
    }
}

Você poderia começar os diálogos com a opção canceláveis, em seguida, pegar a ação cancelar ... algo como:

public class MyActivity implements OnCancelListener {
    /*  ...  */

    public void startDialog() {
        ProgressDialog pd = ProgressDialog.show(
            MyActivity.this,    // Context
            "Progress Title",   // title for dialog
            "Progress Message", // message for dialog
            true,               // indeterminate?
            true,               // cancellable?
            this                // onCancelListener()
        );
    }

    @Override
    public void onCancel(DialogInterface dialog) {
        // the user canceled out of the load dialog (hit the 'back' button)... do something here
    }
}
Respondeu 29/08/2009 em 02:57
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more