Android开发知识小集

魅族手机报错 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>
上一篇下一篇

猜你喜欢

热点阅读