在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();
}
这怎么可能发生?它可以在我测试过的所有其他设备上使用。
答案 0 :(得分:0)
java.lang.String无法转换为android.text.Spannable
使用:
SpannableStringBuilder sb = new SpannableStringBuilder(your_string);