魅族手机报错 Attempt to invoke virtual
2019-04-09 本文已影响1人
夏_Leon
在Git上拉取的一个项目,在其他手机上运行正常,只有在魅族手机上不停报错
Attempt to invoke virtual method 'int android.text.Layout.getLineForOffset(int)' on a null object reference
找到StackOverflow上一个同类问题,在魅族手机上存在这个问题,使用TextInputLayout内套EditText的时候报错。
https://stackoverflow.com/questions/51891415/nullpointerexception-on-meizu-devices-in-editor-updatecursorpositionmz
高赞已经给了解决方案,把EditText替换为AppCompatEditText,我项目中引入的是AndroidX包,所以就没用V7的包,使用androidx.appcompat.widget.AppCompatEditText替换,也成功解决。
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginLeft="68dp"
android:layout_marginRight="16dp"
android:layout_marginStart="68dp"
android:accessibilityLiveRegion="polite"
android:contentDescription="@string/hostpref_nickname_title"
android:labelFor="@+id/nickname_field"
tools:ignore="UnusedAttribute"
>
<androidx.appcompat.widget.AppCompatEditText
android:id="@id/nickname_field"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:inputType="text"
android:hint="@string/hostpref_nickname_title"
/>
</com.google.android.material.textfield.TextInputLayout>