提问者:小点点

未能实例化一个或多个类TextInputEditText内部错误


我正在做一个Android项目,一切正常,直到我开始出现以下错误。

android.content.res.Resources$NotFoundException:在当前配置中找不到 dimen 资源匹配值0x10500E0(解析名称:default_magnifier_width)。at android.content.res.Resources_Delegate.throwException(Resources_Delegate.java:1151) at android.content.res.Resources_Delegate.throwException(Resources_Delegate.java:1127) at android.content.res.Resources_Delegate.throwException(Resources_Delegate.java:1131) at android.content.res.Resources_Delegate.getDimensionPixelSize(Resources_Delegate.java:657) at android.content.res.Resources.getDimensionPixelSize(Resources.java:742) at android.widget.Magnifier$Builder.applyDefaults(Magnifier.java:1162) at android.widget.Magnifier$Builder.(Magnifier.java:1157) at android.widget.Magnifier.createBuilderWithOldMagnifierDefaults(Magnifier.java:155) at android.widget.Editor.(Editor.java:399) at android.widget.TextView.createEditorIfNeed(TextView.java:12923) at android.widget.TextView.setRawInputType(TextView.java:6607) at android.widget.TextView.setInputType(TextView.java:6691) at android.widget.TextView.(TextView.java:1454) at android.widget.EditText.(EditText.java:88) at android.widget.EditText.(EditText.java:84) at androidx.appcompat.widget.AppCompatEditText.(AppCompatEditText.java:73) at com.google.android.material.textfield.TextInputEditText.(TextInputEditText.java:50) at com.google.android.material.textfield.TextInputEditText.(TextInputEditText.java:46) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) atorg.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:393) at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:179) at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:138) at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:299) at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:417) at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:428) at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:332) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1097) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1126) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1097) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084) at android.view.LayoutInflater.inflate(LayoutInflater.java:682) at android.view.LayoutInflater.inflate(LayoutInflater.java:501) atcom.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:328) at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:396) at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193) at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:509) at com.android.tools.idea.rendering.RenderTask.lambda$inflate$4(RenderTask.java:638) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834)

它显示TextInputEditText的此错误,说明

The following classes could not be instantiated:
- com.google.android.material.textfield.TextInputEditText (Open Class, Show Exception, Clear Cache)

我尝试了以下选项:

  1. 缓存无效并重新启动
  2. 清洁和构建项目
  3. 迁移到“支持”库
  4. 将父主题更改为“Theme. MaterialComponents.Light.DarkActionBar”

但什么都没有起作用,因为我认为日志表明这是当前配置的dimen内部值错误。什么都没用。

XML文件:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/background"
        tools:context=".activities.Register">

        <View
            android:id="@+id/view8"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginStart="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            android:background="@drawable/ic_generate_bg_ui"
            app:layout_constraintBottom_toTopOf="@+id/guideline34"
            app:layout_constraintEnd_toStartOf="@+id/guideline29"
            app:layout_constraintStart_toStartOf="@+id/guideline28"
            app:layout_constraintTop_toTopOf="@+id/guideline30" />

        <androidx.constraintlayout.widget.Guideline
            android:id="@+id/guideline28"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            app:layout_constraintGuide_percent="0.05" />

        <androidx.constraintlayout.widget.Guideline
            android:id="@+id/guideline29"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            app:layout_constraintGuide_percent="0.95" />

        <androidx.constraintlayout.widget.Guideline
            android:id="@+id/guideline30"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintGuide_percent="0.1" />

        <androidx.constraintlayout.widget.Guideline
            android:id="@+id/guideline31"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintGuide_percent="1.0" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:text="@string/bank_details"
            android:textAlignment="center"
            android:textColor="@color/white"
            android:textSize="16sp"
            app:layout_constraintEnd_toStartOf="@+id/guideline29"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="@+id/guideline28"
            app:layout_constraintTop_toTopOf="parent"/>

        <ImageView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            android:tint="@color/white"
            app:srcCompat="@drawable/ic_account_balance_wallet_black_24dp"
            android:textAlignment="center"
            android:textColor="@color/white"
            android:textSize="16sp"
            android:textStyle="bold"
            app:layout_constraintBottom_toTopOf="@+id/guideline30"
            app:layout_constraintEnd_toStartOf="@+id/guideline29"
            app:layout_constraintHorizontal_bias="0.498"
            app:layout_constraintStart_toStartOf="@+id/guideline28"
            app:layout_constraintTop_toBottomOf="@+id/textView2"
            tools:ignore="VectorDrawableCompat"
            android:contentDescription="@string/bank_balance_image" />

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/textInputLayout"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="16dp"
            app:layout_constraintEnd_toStartOf="@+id/guideline29"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="@+id/guideline28"
            app:layout_constraintTop_toTopOf="@+id/guideline33">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/accountHolderName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_edit_text"
                android:hint="@string/account_holder_name"
                android:singleLine="true"
                android:textColor="@android:color/black" />

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

        <androidx.constraintlayout.widget.Guideline
            android:id="@+id/guideline33"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintGuide_percent="0.13" />

        <androidx.constraintlayout.widget.Guideline
            android:id="@+id/guideline34"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintGuide_percent="0.85" />

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/textInputLayout2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="16dp"
            app:layout_constraintEnd_toStartOf="@+id/guideline29"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="@+id/guideline28"
            app:layout_constraintTop_toBottomOf="@+id/textInputLayout">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/bankAccountNumber"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_edit_text"
                android:hint="@string/account_number"
                android:maxLines="1"
                android:singleLine="true"
                android:textColor="@android:color/black" />
        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/textInputLayout3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="16dp"
            app:layout_constraintEnd_toStartOf="@+id/guideline29"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="@+id/guideline28"
            app:layout_constraintTop_toBottomOf="@+id/textInputLayout2">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/confirmBankAccountNumber"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_edit_text"
                android:hint="@string/confirm_account_number"
                android:maxLines="1"
                android:singleLine="true"
                android:textColor="@android:color/black" />
        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/textInputLayoutIFSC"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="16dp"
            app:layout_constraintEnd_toStartOf="@+id/guideline29"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="@+id/guideline28"
            app:layout_constraintTop_toBottomOf="@+id/textInputLayout3">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/ifscCode"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_edit_text"
                android:hint="@string/ifsc"
                android:maxLines="1"
                android:singleLine="true"
                android:textColor="@android:color/black" />
        </com.google.android.material.textfield.TextInputLayout>

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/submitBankDetails"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="16dp"
            android:background="@color/colorPrimary"
            android:onClick="onSubmit"
            android:text="@string/submit"
            android:textColor="@color/white"
            app:layout_constraintEnd_toStartOf="@+id/guideline29"
            app:layout_constraintStart_toStartOf="@+id/guideline28"
            app:layout_constraintTop_toBottomOf="@+id/textInputLayoutIFSC" />
    </androidx.constraintlayout.widget.ConstraintLayout>

</layout>

这是我的gradle文件:

dependencies {

    //  androidx dependency
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation "com.google.android.material:material:1.1.0"
    implementation "androidx.multidex:multidex:2.0.1"
    implementation "android.arch.navigation:navigation-fragment:$navigationFragment_version"
    implementation "com.google.android.gms:play-services-auth:$google_auth_version"
    implementation "com.google.android.play:core:$google_play_core"
}

共1个答案

匿名用户

我已经解决了我的问题,尽管它仍然产生了另一个问题。

为了解决这个内部问题,我刚刚从每个TextInputEditText中删除了“android: inputType”标签,这让android工作室可以解析用户界面,现在出现的另一个问题是,我无法指定限制我使用该功能的inputType。我已经尝试了使用EditText而不是TextInputEditText的替代方法,但这并不起作用,因为它最终只解决了前面的问题。

编辑:

如果不能使用xml标记指定inputType,那么可以使用setInputTupe() java方法来指定inputType。