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
,我又兜圈子了[一丝难受]