无法调用 android.app.IAlarmManager 接口的无参数构造函数

Muz*_*ain 5 java android json arraylist gson

我读过很多文章,但没有一篇能回答我的问题。我正在尝试从已存储的中获取ArrayList我的自定义类类型。我已将 ArrayList 存储在a 中,现在我尝试使用以下代码获取此ArrayList :AnAlarmSharedPreferencesalarmsSharedPreferencesJson String

            String alarms_temp_string=preferences.getString("alarms",null);
            if(alarms_temp_string==null){
               alarms =new ArrayList<AnAlarm>();
               }

            Gson gson = new Gson();
            Type type=new TypeToken<ArrayList<AnAlarm>> (){}.getType();
            ArrayList<AnAlarm> alarms=gson.fromJson(alarms_temp_string,type);
            adapter=new RecyclerViewAdapter(alarms);
Run Code Online (Sandbox Code Playgroud)

但我收到以下异常:

   java.lang.RuntimeException: Unable to invoke no-args constructor for interface android.app.IAlarmManager. Registering an InstanceCreator with Gson for this type may fix this problem.
Run Code Online (Sandbox Code Playgroud)

在这行代码上:

ArrayList<AnAlarm> alarms=gson.fromJson(alarms_temp_string,type);
Run Code Online (Sandbox Code Playgroud)

当我评论上面的行时,其余的程序运行顺利。

以下是我的自定义类AnAlarm代码:

public class AnAlarm {

    private Calendar calendar;

    public AnAlarm(){}

    public AnAlarm(Calendar calendar) {

        this.calendar = calendar;

    }

    public Calendar getCalendar() {
        return calendar;
    }

    public void setCalendar(Calendar calendar) {
        this.calendar = calendar;
    }


}
Run Code Online (Sandbox Code Playgroud)

在这个类中,还有一个无参数构造函数以及所有的getterssetters都存在。为什么我会遇到这个问题?提前致谢!