EditText.setError()在片段

时间:2018-10-25 16:17:04

标签: java android android-fragments android-edittext

当我在Fragment中使用EditText并在edittext中设置一些错误时,发生RuntimeException

public class LogIn extends Fragment{
private Button login;
private EditText email;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_log_in, container, false);

login = v.findViewById(R.id.button_login);
email = v.findViewById(R.id.input_email);

login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            progressBar.setVisibility(View.VISIBLE);
            String ema,pa;
            ema = email.getText().toString();
            pa = pass.getText().toString();

            if (ema.isEmpty()){
                email.setError("Email is empty");//this line Occurred Exception
                progressBar.setVisibility(View.GONE);
                return;
            }

});
}
}

在这个片段类中,我尝试验证edittext并在edittext中设置错误,但是它发生的运行时异常如下:

  

android.view.InflateException:二进制XML文件第17行:膨胀类TextView时出错           在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)           在android.view.LayoutInflater.inflate(LayoutInflater.java:482)           在android.view.LayoutInflater.inflate(LayoutInflater.java:414)           在android.view.LayoutInflater.inflate(LayoutInflater.java:365)           在android.widget.Editor.showError(Editor.java:366)           在android.widget.Editor.setError(Editor.java:402)           在android.widget.TextView.setError(TextView.java:4687)           在android.widget.TextView.setError(TextView.java:4672)           在com.example.vishal.selling_app.LoginSignup.LogIn $ 1.onClick(LogIn.java:99)           在android.view.View.performClick(View.java:4856)           在android.view.View $ PerformClick.run(View.java:19956)           在android.os.Handler.handleCallback(Handler.java:739)           在android.os.Handler.dispatchMessage(Handler.java:95)           在android.os.Looper.loop(Looper.java:211)           在android.app.ActivityThread.main(ActivityThread.java:5371)           在java.lang.reflect.Method.invoke(本机方法)           在java.lang.reflect.Method.invoke(Method.java:372)           在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:945)           在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:740)        原因:java.lang.RuntimeException:无法解析索引24处的属性           在android.content.res.TypedArray.getColor(TypedArray.java:401)           在android.widget.TextView(TextView.java:709)           在android.widget.TextView(TextView.java:645)           在android.support.v7.widget.AppCompatTextView(AppCompatTextView.java:87)           在android.support.v7.widget.AppCompatTextView。(AppCompatTextView.java:83)           在android.support.v7.app.AppCompatViewInflater.createTextView(AppCompatViewInflater.java:177)           在android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:102)           在android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)           在android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)           在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)           在android.view.LayoutInflater.inflate(LayoutInflater.java:482)           在android.view.LayoutInflater.inflate(LayoutInflater.java:414)           在android.view.LayoutInflater.inflate(LayoutInflater.java:365)           在android.widget.Editor.showError(Editor.java:366)           在android.widget.Editor.setError(Editor.java:402)           在android.widget.TextView.setError(TextView.java:4687)           在android.widget.TextView.setError(TextView.java:4672)           在com.example.vishal.selling_app.LoginSignup.LogIn $ 1.onClick(LogIn.java:99)           在android.view.View.performClick(View.java:4856)           在android.view.View $ PerformClick.run(View.java:19956)           在android.os.Handler.handleCallback(Handler.java:739)           在android.os.Handler.dispatchMessage(Handler.java:95)           在android.os.Looper.loop(Looper.java:211)           在android.app.ActivityThread.main(ActivityThread.java:5371)           在java.lang.reflect.Method.invoke(本机方法)           在java.lang.reflect.Method.invoke(Method.java:372)           在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:945)           在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:740)

上面是一个错误,错误的主要部分是

  

android.view.InflateException:二进制XML文件第17行:膨胀类TextView时出错   在com.example.vishal.selling_app.LoginSignup.LogIn $ 1.onClick(LogIn.java:99)

0 个答案:

没有答案