Android Intent 传递 Class
Android 的 Intent 可以利用 putExtra() 传递 String 、boolean 、 int 、 byte 等很多种数据类型,虽然没有找到直接可以传 Class ,但是仍然可以通过自行封装 Serializable 达到传递 Class 的目的。
一、封装:
import java.io.Serializable;
class SerializableClass implements Serializable {
private Class c;
Class getStoredClass() {
return c;
}
SerializableClass setStoredClass(Class cls) {
c = cls;
return this;
}
}二、传出:
new Intent().putExtra("class", new SerializableClass().setStoredClass(Example.class));三、读取:
((SerializableClass) getIntent().getSerializableExtra("class")).getStoredClass();20190201更正:突然想起其实可以直接丢
Class 的,他已经 implements 了 java.io.Serializable,我又兜圈子了[一丝难受]