java - 二进制 XML 文件行 #21 : Binary XML file line #21: Error inflating class com. google.android.material.textfield.TextInputLayout

标签 java android

当我的应用崩溃时,我在实现 TextInputLayout 时遇到问题。

我使用下面的 XML 创建了一个 UI:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:focusableInTouchMode="true"
        android:padding="16dp">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginBottom="20dp"
            android:scaleType="centerCrop" />

        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Card number" />

        </com.google.android.material.textfield.TextInputLayout>


        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#53BD55"
            android:onClick="pay"
            android:text="Make Payment"
            android:textColor="#FFFFFF" />

    </LinearLayout>
</LinearLayout>

并将这一行添加到我的依赖项中:

implementation 'com.google.android.material:material:1.0.0-beta01'

但我的应用程序仍然崩溃,错误堆栈跟踪如下:

Process: com.gambeat.mimo, PID: 5975
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gambeat.mimo/com.gambeat.mimo.paystack.paystack.activity.PaystackActivity}: android.view.InflateException: Binary XML file line #21: Binary XML file line #21: Error inflating class com.google.android.material.textfield.TextInputLayout
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2805)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2883)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1613)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6523)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
     Caused by: android.view.InflateException: Binary XML file line #21: Binary XML file line #21: Error inflating class com.google.android.material.textfield.TextInputLayout
     Caused by: android.view.InflateException: Binary XML file line #21: Error inflating class com.google.android.material.textfield.TextInputLayout
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.material.textfield.TextInputLayout" on path: DexPathList[[zip file "/data/app/com.gambeat.mimo-L8Ypbdvmq-0sKhlFg587pg==/base.apk"],nativeLibraryDirectories=[/data/app/com.gambeat.mimo-L8Ypbdvmq-0sKhlFg587pg==/lib/arm, /data/app/com.gambeat.mimo-L8Ypbdvmq-0sKhlFg587pg==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.view.LayoutInflater.createView(LayoutInflater.java:606)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
        at com.gambeat.mimo.paystack.paystack.activity.PaystackActivity.onCreate(PaystackActivity.java:14)
        at android.app.Activity.performCreate(Activity.java:7023)
        at android.app.Activity.performCreate(Activity.java:7014)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2758)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2883)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1613)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6523)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)

请问这可能是什么问题?

最佳答案

只需检查您的应用主题,如果没有,请将其设置为 @style/Theme.MaterialComponents.Light

希望它对您有用!

关于java - 二进制 XML 文件行 #21 : Binary XML file line #21: Error inflating class com. google.android.material.textfield.TextInputLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62307703/

相关文章:

java - 用于验证来自 Google 的 oauth2 token 的 Spring Boot 应用程序

java - 如何禁用 Intent 的后按操作?

android - 将 Activity 1 中的 View 转换/动画化为 Activity 2 中的 View

android - 如何使用GreenDao直接保存protocol buffer类

android - ExoPlayer 2.x 如何获取本地视频Uri

android - 如何以编程方式扩展三星 Lollipop 设备上的状态栏?

java - H2 文件模式,在现有文件数据库上打开新连接时出错

java - 无法使用 Android PhotoView Activity

android - 如果其他视频/音频开始在android中播放,如何停止媒体播放器

java - 在注释中使用不可映射的字符构建项目?