Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TextInputLayout.passwordVisibilityToggleRequested上的NullPointerException_Android_Android Support Library_Android Textinputlayout_Android Support Design_Android Textinputedittext - Fatal编程技术网

Android TextInputLayout.passwordVisibilityToggleRequested上的NullPointerException

Android TextInputLayout.passwordVisibilityToggleRequested上的NullPointerException,android,android-support-library,android-textinputlayout,android-support-design,android-textinputedittext,Android,Android Support Library,Android Textinputlayout,Android Support Design,Android Textinputedittext,我在Firebase崩溃报告中发现了一个错误,关于一些真实设备中处于发布模式的应用程序上的密码切换按钮。问题是堆栈跟踪错误与android.support.design有关,就像您在firebase控制台的以下日志中看到的那样: 异常java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int java.util.ArrayList.size()”android.graphics.drawable.AnimatedVectorDrawable.isStar

我在Firebase崩溃报告中发现了一个错误,关于一些真实设备中处于发布模式的应用程序上的
密码切换按钮。问题是堆栈跟踪错误与android.support.design有关,就像您在firebase控制台的以下日志中看到的那样:

异常java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int java.util.ArrayList.size()”
android.graphics.drawable.AnimatedVectorDrawable.isStarted(AnimatedVectorDrawable.java:427)
android.graphics.drawable.animatedvectorrawable.start(animatedvectorrawable.java:440)
android.graphics.drawable.AnimatedStateListDrawable$AnimatedVectorDrawableTransition.start(AnimatedStateListDrawable.java:339)
android.graphics.drawable.AnimatedStateListDrawable.selectTransition(AnimatedStateListDrawable.java:226)
android.graphics.drawable.AnimatedStateListDrawable.onStateChange(AnimatedStateListDrawable.java:145)
android.graphics.drawable.drawable.setState(drawable.java:599)
android.support.v4.graphics.drawable.DrawableWrapperGingerbread.setState(DrawableWrapperGingerbread.java:145)
android.support.v4.graphics.drawable.DrawableWrapperLollipop.setState(DrawableWrapperLollipop.java:95)
android.widget.ImageView.drawableStateChanged(ImageView.java:1115)
android.support.v7.widget.AppCompatImageButton.drawableStateChanged(AppCompatImageButton.java:149)
android.view.view.refreshDrawableState(view.java:16052)
android.support.design.widget.CheckableImageButton.setChecked(CheckableImageButton.java:75)
android.support.design.widget.TextInputLayout.passwordVisibilityToggleRequested(TextInputLayout.java:1293)
android.support.design.widget.TextInputLayout$4.onClick(TextInputLayout.java:1074)
android.view.view.performClick(view.java:4785)
android.view.view$PerformClick.run(view.java:19888)
android.os.Handler.handleCallback(Handler.java:739)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:135)
android.app.ActivityThread.main(ActivityThread.java:5276)
java.lang.reflect.Method.invoke(Method.java) java.lang.reflect.Method.invoke(Method.java:372)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706)

我之前一直在跟踪一些与此小部件相关的错误,我的意思是,我发布了一些关于此组件的问题:

我还发现了一些与此相关的AOSP问题:

现在我得到了一个错误,我猜当用户只需按下切换按钮时就会发生这个错误

它发生在以下真实设备中:

关于TextInputLayout和TextInputItemText及其主题的XML:

<android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/TextLabel"
        app:passwordToggleEnabled="true">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/login_field_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/perfil_field_password"
            android:inputType="textPassword"
            android:maxLines="1"
            android:maxLength="100"
            android:imeOptions="actionDone"
            android:textColor="@color/colorAccent"
            android:textSize="18sp"
            android:paddingStart="15dp"
            android:paddingEnd="5dp"/>
    </android.support.design.widget.TextInputLayout>

<style name="TextLabel" parent="TextAppearance.AppCompat">
    <!--//hint color And Label Color in False State-->
    <item name="android:textColorHint">@color/colorAccent</item>
    <item name="android:textColorHighlight">@color/colorAccent</item>
    <item name="android:textColorLink">@color/colorAccent</item>
    <!--<item name="android:textSize">20sp</item>-->
    <!--//Label color in True State And Bar Color False And True State-->
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="colorControlNormal">@color/colorAccent</item>
    <item name="colorControlActivated">@color/colorAccent</item>
</style>

@颜色/颜色重音
@颜色/颜色重音
@颜色/颜色重音
@颜色/原色
@颜色/颜色重音
@颜色/颜色重音
正如我在开始时所说,这是来自支持库的
切换按钮
代码,闻起来像个bug。

问题

  • 是否有一些解决办法或我做错了什么?(禁用该按钮不是一个选项)
  • 如果我没有足够的“步骤”来复制它,我怎么能向AOSP报告呢?我只有Firebase崩溃控制台给我的

我主要看到的是NullPointerException,它可能是在调用未初始化的ArrayList get的方法size()时引发的。你知道,这是在哪里发生的吗?在我的代码中,我有一个片段,有两个TextInputItemText,就像问题中的一个,还有一个用于登录过程的按钮。但当用户触摸切换按钮时,空指针将升高。据我所知,它发生在TextInputItemText的密码切换按钮中。是的,你可能是对的。顺便说一下,密码切换按钮有一个bug