Android 按钮按下方法不读取最新编辑文本数据
我正在处理一个Android 按钮按下方法不读取最新编辑文本数据,android,variables,methods,android-edittext,Android,Variables,Methods,Android Edittext,我正在处理一个EditText,用户需要在EditText上插入8位数字,当他插入时,应用程序会显示一个对话框以确认它,在那里他可以接受或取消它 问题是,对于此对话框消息,它只接受第一次插入的数字,因此如果用户更改数字,则对话框始终相同 例如:用户介绍12345678,对话框消息显示“…12345678”。但如果用户现在更改了号码,例如98765432,则消息仍然是“…12345678” 代码如下: public void onCreate(Bundle icicle) { s
EditText
,用户需要在EditText
上插入8位数字,当他插入时,应用程序会显示一个对话框以确认它,在那里他可以接受或取消它
问题是,对于此对话框消息,它只接受第一次插入的数字,因此如果用户更改数字,则对话框始终相同
例如:用户介绍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);
}
}
}))
}
当创建特定id的对话框时,onCreateDialog(intID)只调用一次。一旦创建了对话框,就不会为相同的id调用该方法
为了解决您的问题,您必须另外重写onPrepareDialog(intid,Dialog)方法。每次显示对话框之前都会调用该方法
,android.app.Dialog)
您可以修改您的代码如下
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
super.onPrepareDialog(id, dialog);
if (id == DIALOG_CONFIRMAR_CANDIDATO) {
((AlertDialog)dialog).setMessage("MESSAGE TO BE SHOWN");
}
}
希望这能起作用。我会仔细检查链接并尝试一下。非常感谢。
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
super.onPrepareDialog(id, dialog);
if (id == DIALOG_CONFIRMAR_CANDIDATO) {
((AlertDialog)dialog).setMessage("MESSAGE TO BE SHOWN");
}
}