Ресурсы Samsung $ NotFoundException в редакторе $ SuggestionsPopupWindow.initContentView () - PullRequest
0 голосов
/ 01 июня 2018

Сбой происходит на устройствах Samsung (J7 и S7) под управлением Android 7.0.

Я создал небольшое тестовое приложение и могу воспроизвести сбой.Одиночный Activity, который расширяет Activity (не AppCompatActivity), простой макет, содержащий один EditText с inputType="text". Целевой SDK равен 8.

При позиционировании курсора в EditText и наборе текста предлагаются слова, а слова подчеркиваются.Нажмите на некоторые подчеркнутые слова или завершите редактирование в EditText, а затем вернитесь к EditText.После ввода некоторых данных и щелчка внутри EditText приложение завершит работу со следующей трассировкой стека:

06-01 18:56:37.990 10339-10339/sharpmind.de.samsungtest W/ResourceType: No package identifier when getting value for resource number 0x00000000
06-01 18:56:37.991 10339-10339/sharpmind.de.samsungtest D/AndroidRuntime: Shutting down VM
06-01 18:56:37.992 10339-10339/sharpmind.de.samsungtest E/AndroidRuntime: FATAL EXCEPTION: main
Process: sharpmind.de.samsungtest, PID: 10339
android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:202)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2970)
at android.content.res.Resources.getLayout(Resources.java:1986)
at android.view.LayoutInflater.inflate(LayoutInflater.java:425)
at android.view.LayoutInflater.inflate(LayoutInflater.java:378)
at android.widget.Editor$SuggestionsPopupWindow.initContentView(Editor.java:3704)
at android.widget.Editor$PinnedPopupWindow.<init>(Editor.java:3395)
at android.widget.Editor$SuggestionsPopupWindow.<init>(Editor.java:3683)
at android.widget.Editor.replace(Editor.java:432)
at android.widget.Editor$3.run(Editor.java:2359)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

Если целевой SDK установлен в 14, сбой не происходит.

Если я отключу автозамену и подсказки слов (что не так просто сделать на устройстве Samsung), сбой также не произойдет.Но это очень раздражает моих пользователей, поэтому это не жизнеспособное решение.


Активность:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
}

Макет:

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <EditText
            android:id="@+id/edittext"
            android:layout_width="match_parent"
            android:minHeight="200dp"
            android:inputType="text"
            android:layout_height="wrap_content"/>
</RelativeLayout>
...