0

我正在使用 EditText 框和保存按钮验证表单,如果 edittext 为空,我需要显示弹出窗口。这是代码:

//OnCreate Method:

Button btnSave = (Button)findViewById(R.id.save);
btnSave.setOnClickListener(new OnClickListener(){
public void onClick(View v){

   String sMiles = edtMiles.getText().toString();
   if(sMiles.isEmpty()){
     showPopup();
   }
});

public  void showPopup(){
  View popUpView = getLayoutInflater().inflate(R.layout.toast,null);
  mpopup = new PopupWindow(popUpView,LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true);
  mpopup.setOutsideTouchable(true);
  mpopup.showAtLocation(popUpView, Gravity.CENTER, 0, 0);

  Button b = (Button)popUpView.findViewById(R.id.error_ok);
  b.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {    
    mpopup.dismiss();
  });
}

问题是:当我在edittext为空的情况下启动此活动并单击保存时,出现弹出窗口,然后单击确定按钮将其关闭。当我再次单击保存按钮时,不会出现弹出窗口,有时甚至活动也会挂起。现在我返回并再次启动活动,第一次点击保存弹出窗口,在关闭弹出窗口后点击 svae 不会出现弹出窗口。

请有人建议或指出我哪里错了?

谢谢你。

4

0 回答 0