0

I could see in Crashlytics following issue, from thousands of users, this was seen only on 1 device (SHARP 507SH Android 8.1.0), how come?

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();
}

How could this happen? It works on all other devices I tested it on.

David
  • 3,971
  • 1
  • 26
  • 65

1 Answers1

0

java.lang.String cannot be cast to android.text.Spannable

Use:

SpannableStringBuilder sb = new SpannableStringBuilder(your_string);
IntelliJ Amiya
  • 74,896
  • 15
  • 165
  • 198