Я получаю кучу отчетов о сбоях (из аналитики), в которых указывается, что android.widget.Editor
дает сбой из-за отсутствия ресурсов, связанных с курсором!
Я искал идентификатор ресурса в R.java
, и этоопределено там и указывает на abc_text_select_handle_middle_mtrl_light
(не мои собственные ресурсы).
Я не могу воспроизвести сбой локально, но это наиболее часто встречающийся сбой в нашем приложении сейчас.Я предполагаю, что это происходит сбой только на определенных устройствах, и именно поэтому я не мог воспроизвести.Мы видели это на HUAWEI P7-L01, Galaxy Core2, CHM-U01, Galaxy J1 Ace, ...
Любое предложение для обходного пути приветствуется.
Макет:
<android.widget.EditText
android:id="@+id/profile_name_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:background="@color/foreground"
android:gravity="center"
android:inputType="textEmailAddress"
android:maxLength="10"
android:padding="10dp"
android:textAlignment="center"/>
Stacktrace:
android.content.res.Resources.getValue (Resources.java:1182)
android.content.res.Resources.getDrawable (Resources.java:757)
android.widget.Editor$InsertionPointCursorController.getHandle (Editor.java:3808)
android.widget.Editor$InsertionPointCursorController.show (Editor.java:3786)
android.widget.Editor.showInsertionController (Editor.java:4477)
android.widget.Editor.showInsertionController (Editor.java:4471)
android.widget.Editor.onTouchUpEvent (Editor.java:1686)
android.widget.TextView.onTouchEvent (TextView.java:8166)
android.view.View.dispatchTouchEvent (View.java:7804)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2324)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2027)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2324)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2027)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2324)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2027)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2324)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2027)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2324)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2027)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2324)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2027)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2324)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2027)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2324)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2027)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent (PhoneWindow.java:2137)
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1569)
android.app.Activity.dispatchTouchEvent (Activity.java:2519)
android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:68)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent (PhoneWindow.java:2085)
android.view.View.dispatchPointerEvent (View.java:7995)
android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:4568)
android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:4439)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:3977)
android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4027)
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:3996)
android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4103)
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4004)
android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:4160)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:3977)
android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4027)
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:3996)
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4004)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:3977)
android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:6300)
android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:6280)
android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:6234)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:6439)
android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185)
android.os.MessageQueue.nativePollOnce (MessageQueue.java)
android.os.MessageQueue.next (MessageQueue.java:138)
android.os.Looper.loop (Looper.java:150)
android.app.ActivityThread.main (ActivityThread.java:5551)
java.lang.reflect.Method.invokeNative (Method.java)
java.lang.reflect.Method.invoke (Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:914)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:730)
dalvik.system.NativeStart.main (NativeStart.java)
стили:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
<style name="AppTheme.NoActionBar.FullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">#4f92ac</item>
<item name="colorPrimary">#FFFFFF</item>
<item name="colorAccent">#FFFFFF</item>
</style>
</resources>