Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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 当使用Awesome validation liabrary inside fragment对编辑文本进行验证时,应用程序停止_Java_Android_Android Fragments - Fatal编程技术网

Java 当使用Awesome validation liabrary inside fragment对编辑文本进行验证时,应用程序停止

Java 当使用Awesome validation liabrary inside fragment对编辑文本进行验证时,应用程序停止,java,android,android-fragments,Java,Android,Android Fragments,我想在片段中使用AwesomeValidation对EditText进行验证。单击按钮时,应检查验证,但应用程序在单击按钮时停止,并给出如下错误: java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.text.Editable android.widget.EditText.getText()” 这是我的密码: AwesomeValidation awesomeValidation; edtxtfullname = (EditText)

我想在片段中使用AwesomeValidation对EditText进行验证。单击按钮时,应检查验证,但应用程序在单击按钮时停止,并给出如下错误: java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.text.Editable android.widget.EditText.getText()”

这是我的密码:

AwesomeValidation awesomeValidation;
edtxtfullname = (EditText) view.findViewById(R.id.edtxtfullname);
btnNext = (Button) view.findViewById(R.id.btnNext);
awesomeValidation = new AwesomeValidation(ValidationStyle.BASIC);
awesomeValidation.addValidation(getActivity(),R.id.edtxtfullname, "^[A-Za-z\\s]{1,}[\\.]{0,1}[A-Za-z\\s]{0,}$", R.string.nameerror);
btnNext.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (awesomeValidation.validate())
        {
            Toast.makeText(getActivity(), "Validation Successfull", Toast.LENGTH_LONG).show();
        }
    }
});
return view;

更新您的代码如下:

    ..
    edtxtfullname = (EditText) view.findViewById(R.id.edtxtfullname);
            btnNext = (Button) view.findViewById(R.id.btnNext);
    awesomeValidation = new AwesomeValidation(ValidationStyle.BASIC);
    //directly pass EditText 
     awesomeValidation.addValidation(edtxtfullname, "^[A-Za-z\\s]{1,}[\\.]{0,1}[A-Za-z\\s]{0,}$", R.string.nameerror);
    btnNext.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (awesomeValidation.validate())
                    {
                        Toast.makeText(getActivity(), "Validation Successfull", Toast.LENGTH_LONG).show();
                    }
                }
            });
            return view;

试试这个,它会解决你的问题。

我找到了问题的答案。我所做的工作如下:

awesomeValidation = new AwesomeValidation(ValidationStyle.BASIC);
 @Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    awesomeValidation.addValidation(getActivity(),R.id.edtxtfullname, "^[A-Za-z\\s]{1,}[\\.]{0,1}[A-Za-z\\s]{0,}$", R.string.nameerror);
    btnNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (awesomeValidation.validate())
            {
                Toast.makeText(getActivity(), "Validation Successfull", Toast.LENGTH_LONG).show();
            }
        }
    });
}

btnNext
您是否初始化了它?我想你错过了。不,我已经初始化了。我已更新了我的代码。请共享整个代码请确保R.id.edtxtfullname在片段视图中可用,并且您已在片段的onCreateView()中设置布局确保“edtxtfullname”在您的xml文件中设置为id,该文件由此activtyNo使用,这不是addvalidation方法获取4个参数的正确方法,例如awesomevalidation.addvalidation(context,int,string,int);这是一条正确的路。。它提到了
mAwesomeValidation.addValidation(editText,“regex”,“Error info”)