Como posso implementar uma preferência que exibe uma caixa de diálogo simples de confirmação sim / não?
Por exemplo, veja Browser->Setting->Clear Cache
.
Como posso implementar uma preferência que exibe uma caixa de diálogo simples de confirmação sim / não?
Por exemplo, veja Browser->Setting->Clear Cache
.
Essa é uma caixa de diálogo de alerta simples , Federico deu a você um site onde você pode pesquisar coisas.
Aqui está um pequeno exemplo de como um diálogo de alerta pode ser criado.
new AlertDialog.Builder(this)
.setTitle("Title")
.setMessage("Do you really want to whatever?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Toast.makeText(MainActivity.this, "Yaay", Toast.LENGTH_SHORT).show();
}})
.setNegativeButton(android.R.string.no, null).show();
O Android vem com uma classe YesNoPreference integrada que faz exatamente o que você deseja (uma caixa de diálogo de confirmação com opções sim e não). Veja o código-fonte oficial aqui .
Infelizmente, ele está no
com.android.internal.preference
pacote, o que significa que é parte das APIs privadas do Android e você não pode acessá-lo de seu aplicativo (classes de API privadas estão sujeitas a alterações sem aviso prévio, daí o motivo pelo qual o Google não permite seu acesso).Solução: basta recriar a classe no pacote do seu aplicativo copiando / colando o código-fonte oficial do link que forneci. Eu tentei isso e funciona bem (não há razão para que não deva).
Você pode então adicioná-lo à sua
preferences.xml
preferência como qualquer outra. Exemplo:Que se parece com isto:
fonte
Use a preferência de intenção se estiver usando uma tela xml de preferência ou se estiver usando uma tela personalizada, o código seria como abaixo
E, em seguida, crie a classe de atividade mais ou menos como a seguir, Como pessoas diferentes e abordagens diferentes, você pode usar qualquer abordagem que desejar, este é apenas um exemplo.
Como dito antes, existem várias maneiras de fazer isso. esta é uma das maneiras de realizar sua tarefa. Aceite a resposta se achar que conseguiu o que queria.
fonte