问题描述
这是我的TextInputLayout和InputEdit(根据错误,login_dialog_layout恰好在第18行):
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/passwordTextLayoutHolder"
style="@style/TextInputLayoutOutlinedBoxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:passwordToggleEnabled="true"
app:passwordToggleDrawable="@drawable/ic_eye">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/txtLoginPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/password"
android:inputType="textPassword"
android:maxLines="1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</com.google.android.material.textfield.TextInputLayout>
这是ic_eye:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,-1.34 3,-3 -1.34,-3 -3,-3z" />
</vector>
这是它正在使用的样式:
<style name="TextInputLayoutOutlinedBoxStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
<item name="android:textColorPrimary">@android:color/white</item>
<item name="colorControlnormal">@android:color/white</item>
</style>
我的应用主题也正确地继承自“ Theme.MaterialComponents.DayNight”。这里没有问题。
但是应用程序不断崩溃,经过3个小时的爬网和爬网,我发现passwordToggleDrawable确实是原因,但不仅如此!在其他布局中,如果我将可绘制对象与诸如EditText和Buttons之类的视图一起使用,它也会崩溃。 我认为这可能是因为drawables-v21和drawables-xhdpi(以及其他DPI)所致,所以我删除了所有其他文件夹并再次尝试,但还是没有运气。
我已经迁移到Android X,并使用Android Material 1.2.0,甚至尝试使用beta2 1.3.0,但没有用。 我在棉花糖和棒棒糖上进行了令人惊讶的测试,没有崩溃,因此我可以肯定的是,在加载可绘制对象时,应用程序找不到某些东西。
还在我的build.gardle(应用程序)中添加了:
vectorDrawables.useSupportLibrary = true
这是我得到的错误:
2020-09-03 01:33:01.514 6783-6783/org.zminic.ovido E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.zminic.ovido,PID: 6783
android.view.InflateException: Binary XML file line #18 in org.zminic.ovido:layout/login_dialog_layout: Binary XML file line #18 in org.zminic.ovido:layout/login_dialog_layout: Error inflating class com.google.android.material.textfield.TextInputLayout
Caused by: android.view.InflateException: Binary XML file line #18 in org.zminic.ovido:layout/login_dialog_layout: Error inflating class com.google.android.material.textfield.TextInputLayout
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:852)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1004)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1121)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1124)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
at android.view.LayoutInflater.inflate(LayoutInflater.java:680)
at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
at org.zminic.ovido.activities.Login.showLoginWithEmailDialog(Login.kt:397)
at org.zminic.ovido.activities.Login.access$showLoginWithEmailDialog(Login.kt:45)
at org.zminic.ovido.activities.Login$onCreate$4.onClick(Login.kt:80)
at android.view.View.performClick(View.java:7448)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28305)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: android.view.InflateException: Binary XML file line #18 in org.zminic.ovido:layout/design_text_input_end_icon: Binary XML file line #18 in org.zminic.ovido:layout/design_text_input_end_icon: Error inflating class com.google.android.material.internal.CheckableImageButton
Caused by: android.view.InflateException: Binary XML file line #18 in org.zminic.ovido:layout/design_text_input_end_icon: Error inflating class com.google.android.material.internal.CheckableImageButton
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:852)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1004)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
at android.view.LayoutInflater.inflate(LayoutInflater.java:657)
at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
at com.google.android.material.textfield.TextInputLayout.<init>(TextInputLayout.java:596)
at com.google.android.material.textfield.TextInputLayout.<init>(TextInputLayout.java:419)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:852)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1004)
2020-09-03 01:33:01.517 6783-6783/org.zminic.ovido E/AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1121)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1124)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
at android.view.LayoutInflater.inflate(LayoutInflater.java:680)
at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
at org.zminic.ovido.activities.Login.showLoginWithEmailDialog(Login.kt:397)
at org.zminic.ovido.activities.Login.access$showLoginWithEmailDialog(Login.kt:45)
at org.zminic.ovido.activities.Login$onCreate$4.onClick(Login.kt:80)
at android.view.View.performClick(View.java:7448)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28305)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 13: TypedValue{t=0x2/d=0x7f040005 a=-1}
at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:997)
at android.content.res.TypedArray.getDrawable(TypedArray.java:981)
at android.view.View.<init>(View.java:5535)
at android.widget.ImageView.<init>(ImageView.java:195)
at android.widget.ImageButton.<init>(ImageButton.java:86)
at android.widget.ImageButton.<init>(ImageButton.java:82)
at androidx.appcompat.widget.AppCompatimageButton.<init>(AppCompatimageButton.java:75)
at com.google.android.material.internal.CheckableImageButton.<init>(CheckableImageButton.java:56)
at com.google.android.material.internal.CheckableImageButton.<init>(CheckableImageButton.java:52)
请帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)