编辑器中的Samsung Resources $ NotFoundException $ SuggestionsPopupWindow.initContentView()

时间:2018-06-01 17:32:08

标签: android samsung-mobile

运行Android 7.0的三星设备(J7和S7)发生崩溃。

我已经构建了一个很小的测试应用程序,可以重现崩溃。单ActivityActivity(不是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时,不会发生崩溃。

如果我禁用了自动更正和字词建议(这在三星设备上并不容易),则也不会发生崩溃。但这让我的用户真的很生气,所以这不是一个可行的解决方案。

活动:

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>

0 个答案:

没有答案