Por favor, olhe a caixa de diálogo personalizada abaixo. Eu tenho um campo de texto de edição na caixa de diálogo e se o campo de texto estiver vazio, gostaria de desativar o positiveButton
. Posso obter um charListener para o campo de texto, mas não tenho certeza de como vou definir o positivebutton
para desativar ou ativar desse ouvinte. Qual é a referência para os botões positivos e negativos?
case DIALOG_TEXT_ENTRY:
// This example shows how to add a custom layout to an AlertDialog
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);
return new AlertDialog.Builder(AlertDialogSamples.this)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_text_entry)
.setView(textEntryView)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked cancel so do some stuff */
}
})
.create();
}
Respostas:
Edite para solução completa ...
Aqui está um código de amostra, tente este
Para botão negativo
Para botões id : Referência alert_dialog.xml
Editado:
E o setOnShowListener desde a API de nível 8 (FroYo), faz o mesmo,
Editado
fonte
Nenhuma dessas respostas realmente resolve o problema.
Eu faço isso usando um layout personalizado com um EditText nele e um TextWatcher nessa visualização.
fonte
d
Aqui está o código completo para ativar e desativar o botão positivo da caixa de diálogo:
fonte
Você pode escrever um ouvinte na caixa de texto de edição e tentar ativar ou desativar os botões. Este é um exemplo de código para xamarin.
fonte
Para excluir o registro da visualização de lista do banco de dados usando o viewholder, você usou este código em seu método getview ().
consulte Mais informação
fonte
Este dialogFragment fará o trabalho para você. Observe que a caixa de diálogo permanecerá aberta após a rotação da tela, preservando qualquer texto que o usuário já tenha digitado. Se você não quiser que isso aconteça, você precisa descartar o fragmento no onStop de sua atividade. A assinatura do método newInstance pode ser alterada para o que você precisar.
Adicione implementos à sua atividade (qualquer tipo de atividade é adequado):
Crie o diaglogFragment em sua atividade assim:
Trate o resultado em sua atividade desta forma:
Você precisa criar o identificador de recurso, então adicione este recurso em algum lugar sob res / valores
fonte
Isso pode te ajudar, obrigado.
fonte