私はEditText
ユーザーがに8桁の数字を挿入する必要がある場所で作業しており、ユーザーがEditText
それを挿入すると、アプリはそれを受け入れるかキャンセルできるかを確認するためのダイアログを表示します。
問題は、このダイアログメッセージでは、初めて挿入された番号のみが使用されるため、ユーザーが番号を変更しても、ダイアログは常に同じであるということです。
例:ユーザーが12345678を紹介すると、ダイアログメッセージに「...12345678」と表示されます。ただし、ユーザーが番号を変更した場合、たとえば98765432の場合、メッセージは「...12345678」のままです。
コードは次のとおりです。
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.identificacion);
Button bSiguiente = (Button) findViewById(R.id.btn_siguiente);
dniText = (EditText) findViewById(R.id.dni_candidato);
bSiguiente.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// try{
// catch (NumberFormatException e)
// // {
// }
user = Integer.parseInt(dniText.getText().toString());
String longitud = dniText.getText().toString();
DNIWord(user);
if(longitud.length()==8){
showDialog(DIALOG_CONFIRMAR_CANDIDATO);
}
else{
showDialog(DIALOG_ERROR_DNI);
}
}
});
}
protected Dialog onCreateDialog (int id){
switch (id) {
case DIALOG_CONFIRMAR_CANDIDATO:
return new AlertDialog.Builder(this)
.setIcon(R.drawable.icon_warning)
.setTitle(R.string.confirmardni)
.setMessage("Tu DNI es " +DNIWord(user)+ " ?")
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Intent i = new Intent(Ident.this,Autorizacion.class);
startActivity(i);
}
})
.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
})
.create();
case DIALOG_ERROR_DNI:
return new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_error)
.setTitle(R.string.error)
.setMessage(R.string.errordni)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
})
.create();
}
return null;
}
public static String DNIWord(int user) {
user = Integer.parseInt(dniText.getText().toString());
return (String.valueOf(user) + "-"+ NIF_STRING_ASOCIATION.charAt(user % 23));
}
}