Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.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
Java 如何使用弹出消息或警报对话框验证多个edittext字段?_Java_Android_Eclipse_Validation_Null - Fatal编程技术网

Java 如何使用弹出消息或警报对话框验证多个edittext字段?

Java 如何使用弹出消息或警报对话框验证多个edittext字段?,java,android,eclipse,validation,null,Java,Android,Eclipse,Validation,Null,我想知道如何验证我的4个edittext字段,如果点击按钮处理输入后其中一个或多个字段为空。我已经搜索了很多解决方案,比如使用toast,但它认为不适合多个edittext字段和使用textwatchers。我希望应用程序显示一个弹出消息或警告对话框,上面写着“请填写必要的字段” 任何帮助都将不胜感激。您可以使用一些工具提示进行验证,如qtip或poshytip 编写验证函数以检查所有文本字段,并将tooltip对象附加到验证失败的相应字段。u可以使用一些工具提示进行验证,如qtip或pos

我想知道如何验证我的4个edittext字段,如果点击按钮处理输入后其中一个或多个字段为空。我已经搜索了很多解决方案,比如使用toast,但它认为不适合多个edittext字段和使用textwatchers。我希望应用程序显示一个弹出消息或警告对话框,上面写着“请填写必要的字段”


任何帮助都将不胜感激。

您可以使用一些工具提示进行验证,如qtip或poshytip


编写验证函数以检查所有文本字段,并将tooltip对象附加到验证失败的相应字段。

u可以使用一些工具提示进行验证,如qtip或poshytip


编写验证函数以检查所有文本字段,并将验证失败的相应字段附加到tooltip对象。

最简单的解决方法是检查字段是否为空,然后在此处显示对话框是简单的代码段

  private void checkEntries()
{

    if(!(email.getText().toString().equals("")))    
    {
        if(!(pass.getText().toString().equals("")))
        {
            if(UIHelper.getInstance().emailAddressValidation(email.getText().toString()))
            {
                if(pass.getText().length()>=5)
                {
                    sendLoginRequest(email.getText().toString(),pass.getText().toString(),Constants.PHONE_ID);
                }
                else
                {
                    dialogBoxInUIthread("String","Password length should be greater than 5 ",LoginController.this,true);
                }
            }
            else
            {

                dialogBoxInUIthread("String","Invalid Email Id",LoginController.this,true);

            }   
        }
        else
        {
            dialogBoxInUIthread("String","Please enter password",LoginController.this,true);
        }
    }
    else
    {
        dialogBoxInUIthread("String","Please enter email",LoginController.this,true);
    }

}



private void dialogBoxInUIthread(final String title,final String msg, Context context,final boolean completed) {
         /* runOnUiThread(new Runnable() {
           public void run() {*/
            AlertDialog.Builder alertbox = new AlertDialog.Builder(LoginController.this);
            alertbox.setTitle(title);
            alertbox.setMessage(msg);
            alertbox.setNeutralButton("OK", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface arg0, int arg1) {
                   if(completed){
                   }else{ }
               }
              });alertbox.show();
          /* }
          });*/
    }

最简单的解决方法是检查字段是否为空,然后在此处显示对话框是简单的代码段

  private void checkEntries()
{

    if(!(email.getText().toString().equals("")))    
    {
        if(!(pass.getText().toString().equals("")))
        {
            if(UIHelper.getInstance().emailAddressValidation(email.getText().toString()))
            {
                if(pass.getText().length()>=5)
                {
                    sendLoginRequest(email.getText().toString(),pass.getText().toString(),Constants.PHONE_ID);
                }
                else
                {
                    dialogBoxInUIthread("String","Password length should be greater than 5 ",LoginController.this,true);
                }
            }
            else
            {

                dialogBoxInUIthread("String","Invalid Email Id",LoginController.this,true);

            }   
        }
        else
        {
            dialogBoxInUIthread("String","Please enter password",LoginController.this,true);
        }
    }
    else
    {
        dialogBoxInUIthread("String","Please enter email",LoginController.this,true);
    }

}



private void dialogBoxInUIthread(final String title,final String msg, Context context,final boolean completed) {
         /* runOnUiThread(new Runnable() {
           public void run() {*/
            AlertDialog.Builder alertbox = new AlertDialog.Builder(LoginController.this);
            alertbox.setTitle(title);
            alertbox.setMessage(msg);
            alertbox.setNeutralButton("OK", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface arg0, int arg1) {
                   if(completed){
                   }else{ }
               }
              });alertbox.show();
          /* }
          });*/
    }

单击按钮时使用此验证功能,可以在方法执行后检查警报消息

boolean flag_1= true,flag_2=true,flag_3=true;
String alertmsg;


单击按钮时使用此验证功能,可以在方法执行后检查警报消息

boolean flag_1= true,flag_2=true,flag_3=true;
String alertmsg;

试试这个:

编辑:

public boolean formIsValid(RelativeLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        Class<? extends View> c = v.getClass();
        if (c == EditText.class) {
            EditText et = (EditText) v;
            if(et.getText().toString().equals(""))
                return false;
            //Toast.makeText(getApplicationContext(), ""+et.getText().toString(), Toast.LENGTH_LONG).show();                
        } 
    }
    return true;
}
点击流程输入按钮的
onClick

RelativeLayout rl = (RelativeLayout) findViewById(R.id.mRlayout1);
boolean success = formIsValid(rl);
if(success == false){
  // alert dialog box
}
else{
  // process ahead
}
声明此函数:

编辑:

public boolean formIsValid(RelativeLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        Class<? extends View> c = v.getClass();
        if (c == EditText.class) {
            EditText et = (EditText) v;
            if(et.getText().toString().equals(""))
                return false;
            //Toast.makeText(getApplicationContext(), ""+et.getText().toString(), Toast.LENGTH_LONG).show();                
        } 
    }
    return true;
}
public boolean formIsValid(相对布局){
对于(int i=0;i
编辑:

public boolean formIsValid(RelativeLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        Class<? extends View> c = v.getClass();
        if (c == EditText.class) {
            EditText et = (EditText) v;
            if(et.getText().toString().equals(""))
                return false;
            //Toast.makeText(getApplicationContext(), ""+et.getText().toString(), Toast.LENGTH_LONG).show();                
        } 
    }
    return true;
}
点击流程输入按钮的
onClick

RelativeLayout rl = (RelativeLayout) findViewById(R.id.mRlayout1);
boolean success = formIsValid(rl);
if(success == false){
  // alert dialog box
}
else{
  // process ahead
}
声明此函数:

编辑:

public boolean formIsValid(RelativeLayout layout) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        Class<? extends View> c = v.getClass();
        if (c == EditText.class) {
            EditText et = (EditText) v;
            if(et.getText().toString().equals(""))
                return false;
            //Toast.makeText(getApplicationContext(), ""+et.getText().toString(), Toast.LENGTH_LONG).show();                
        } 
    }
    return true;
}
public boolean formIsValid(相对布局){
对于(int i=0;i类您可以使用以下常用函数检查edittext的空值:


您可以使用以下通用函数检查edittext的空值:



使用setError.eg/-edittext.setError(“”);这是否适用于验证多个字段?如果user@AprilMosca如果我的解决方案能帮助您解决问题,您可以接受。您找到解决方案了吗?请使用setError.eg/-edittext.setError(“”);这是否适用于验证多个字段?如果一个或多个字段被user@AprilMosca如果我的解决方案有助于你解决问题,你可以接受。你找到解决方案了吗?对我来说有点太高级了。无论如何,谢谢你的帮助。检查一下这个小提琴手。希望它对我来说简单。对我来说有点太高级了。谢谢不管怎样,这都是需要帮助的。检查一下这个小提琴手。希望它对用户界面很容易。我在布尔success=formIsValid(rl)中得到了关于success变量的警告;在类中,它还表示类是原始类型。@AprilMosca请查看我编辑的解决方案。这将完全符合您的要求。我在boolean success=formIsValid(rl)中收到一条关于success变量的警告;而且在类中,它还表示类是原始类型。@AprilMosca可以查看我编辑的解决方案。这将完全符合您的要求。我收到了有关公共静态void checkentryforeptyvalue(EditText p_EditText,String p_nullMsg)的错误,它表示只允许对参数字符串和final使用非法修饰符,并且checkEntryForEmptyValue不能解析为类型。这是否适用于多个字段?您能告诉我如何使用它吗?是的,它适用于多个字段。我收到了有关公共静态无效checkEntryForEmptyValue的错误(EditText p_EditText,String p_nullMsg),它表示只允许对参数字符串和final使用非法修饰符,而且checkEntryForEmptyValue不能解析为类型。这是否适用于多个字段?您能告诉我如何使用它吗?是的,它适用于多个字段。