我想通过 Intent 发布一个带有 SpannableString 的对象。我让对象实现 Serializable,但它会抛出
java.io.NotSerializableException: android.text.SpannableString
所以我让 SpannableString 实现 Serializable。
private class MySpannableString extends SpannableString implements Serializable{
public MySpannableString(CharSequence source) {
super(source);
}
}
但是我无法在下一个Activity中获取对象。
最佳答案
我已经测试过 SpannableString
作为 Serializable
但它会在第二个 Activity 中抛出错误 Can not cast Serializable to SpannableString, null value will return as default
。所以我认为这可能是不可能的。
但是我们可以通过下面的简单方式传递SpannableString
第一个 Activity
SpannableString text == ...;
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("KEY", text);
startActivity(intent);
第二个 Activity
SpannableString a = (SpannableString). getIntent().getCharSequenceExtra("KEY");
//we can get value because SpannableString implements CharSequence
关于java - SpannableString 可以序列化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43107527/