当我在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)