Android:如何使用类<?扩展 Activity> 作为 Parcelable 中的变量类型

标签 android class parcelable

我在写入和读取类型为 Class<? extends Activity> 的变量时遇到问题但我可以找到任何解决方案。

clas为变量名,类型为Class<? extends Activity> 。当学生单击列表 Activity 时,我使用此变量打开相关 Activity

没有像 Parcelable.readClass() 这样的函数或writeClass()谁能帮忙解决这个问题

提前致谢

这是我的Student.java

public class Student {
    private String id;
    private Class<? extends Activity> clas;

    ...

}

在这里我创建了ParcalebleStudent.java

public class ParcalebleStudent implements Parcelable {
    private Student student;

    ....

    private ParcalebleStudent(Parcel in) {
        student = new Student();
        student.setId(in.readString());
        student.setClas(in.readWhat?????????);//I need help here
    }

    @Override
    public void writeToParcel(Parcel parcel, int flags) {
        parcel.writeString(student.getId());
        parcel.writeWhat???????(student.getClas());//and here

    }
}

最佳答案

您可以使用 parcel.writeString(student.getClas().getName());student.setClas(Class.forName(in.readString());

关于Android:如何使用类<?扩展 Activity> 作为 Parcelable 中的变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623138/

相关文章:

java - 无法实现OnMapReadyCallback

java - 是 MyClass 的对象实例

java - 如何正确实现 SparseArray 以在 ViewPager 的每个实例上存储自定义对象? Android 开发 - Java

java - 使用 Parcelable 发送 StringArray 时出现 NullPointerException

java - 更改 Android 选项菜单的外观

java - 如何在 Java 中处理来自 Google Sheets API v4 的 JSON 字符串

objective-c - objective c 将一个对象设置为一个未知的类

java - 标识符预期错误 (Java)

java - android.os.TransactionTooLargeException : data parcel size NOUGAT ERROR

Android 在打印机上打印文本