Android Intent 传递 Class

Android 的 Intent 可以利用 putExtra() 传递 Stringbooleanintbyte 等很多种数据类型,虽然没有找到直接可以传 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 的,他已经 implementsjava.io.Serializable,我又兜圈子了[一丝难受]