Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按钮按下方法不读取最新编辑文本数据_Android_Variables_Methods_Android Edittext - Fatal编程技术网

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");
    }
}