java.lang.IncompatibleClassChangeError:TextInputLayout.updatePasswordToggleView()

时间:2018-07-23 07:29:15

标签: android xml android-layout

我有一个非常令人不安的体验,其中每个TextInputLayout实例仅在我的应用的发行版中崩溃。如果使用AppCompatEditText,则不会崩溃。在调试版本中不会崩溃。

 java.lang.IncompatibleClassChangeError: 
    The method 'void android.support.design.widget.TextInputLayout.updatePasswordToggleView()' 
    was expected to be of type direct but instead was found to be of type virtual

XML布局

<android.support.design.widget.TextInputLayout
    android:id="@+id/pwdLayout"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    app:layout_constraintEnd_toEndOf="parent"
    android:layout_marginStart="@dimen/_8sdp"
    android:layout_marginEnd="@dimen/_8sdp"
    android:layout_marginLeft="@dimen/_8sdp"
    android:layout_marginRight="@dimen/_8sdp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/emailLayout"
    app:passwordToggleEnabled="true">
    <android.support.design.widget.TextInputEditText
      android:id="@+id/password"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:hint="@string/login_password_hint"/>
  </android.support.design.widget.TextInputLayout>

有什么想法吗?谢谢。 我已经从27.1.1升级到26.1.1支持版本,并且错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

我认为这更简单:

  • 创建一个新的干净项目
  • 在那里尝试并找出差异(当前的项目gradle文件中可能存在一些不兼容的选项,我们不会注意到)

祝你好运