android-studio Android Studio 3.1 EditText StackOverflowError



2 Answers

يبدو أن هذا لا يحدث إلا على أجهزة Android 6.0 ، يعمل EditText بشكل جيد على أجهزة Android 5 و Android 7. تعطيل التنميط المتقدمة (API <26) في تكوين التشغيل يعمل بالنسبة لي.

android android-studio android-studio-3.1

بعد التحديث إلى الإصدار 3.1 من Android Studio ، أواجه بعض الاستثناءات عند التركيز على EditText

E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 18938
java.lang.Error: stack size 8MB
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
    at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)

أي فكرة كيف أصلح هذا المشكل؟

تحديث:

بعد بعض الأبحاث ، اكتشفت أن Error يظهر مع stacktraces مختلفة مع EditText بسيطة:

<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>

عند محاولة إدخال أي رمز أحصل عليه:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21122
java.lang.Error: stack size 8MB
    at android.view.inputmethod.InputConnectionWrapper.beginBatchEdit(InputConnectionWrapper.java:106)

عندما اضغط على:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21280
java.lang.Error: stack size 8MB
    at android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.java:78)

حتى إدخال نص في WebView يسبب هذا الخطأ

في AS 3.0 EditText عملت طبيعية




تواجه نفس مشكلات EditText مباشرة بعد التحديث إلى Android Studio 3.1. حاول تعيين debuggable false في build.gradle لنوع إنشاء التصحيح. أو يمكنك التبديل إلى إصدار نوع البنية نظرًا لأنها خاطئة افتراضيًا. التي ساعدت في حالتي.

تحديث: يؤكد أن تعطيل التنميط المتقدم قد أدى إلى إصلاح مشكلتي أيضًا.




Related