ClassCastException только на одном устройстве - PullRequest
0 голосов
/ 23 октября 2018

Я мог видеть в Crashlytics следующую проблему от тысяч пользователей, это было видно только на 1 устройстве (SHARP 507SH Android 8.1.0), почему?

Fatal Exception: java.lang.ClassCastException: java.lang.String cannot be cast to android.text.Spannable
       at com.myapp.MyDialog$4$5.onDismiss(SourceFile:252)
       at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1361)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6518)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)


@Override
public void onDismiss(final DialogInterface dialog) {
  // remove clickable text listener
  final TextView link = dialogView.findViewById(R.id.mydialog_link);
  Spannable spannable = (Spannable) link.getText();
}

Как это могло произойти?Он работает на всех других устройствах, на которых я его тестировал.

1 Ответ

0 голосов
/ 23 октября 2018

java.lang.String нельзя преобразовать в android.text.Spannable

Использование:

SpannableStringBuilder sb = new SpannableStringBuilder(your_string);
...