我试图从数据库中检索数据并将结果显示为toast消息(计划在工作后执行更多操作)。但是,它给出了错误-“意外挂起异常:java.lang.ArrayIndexOutOfBoundsException”,并告诉我情况是“Call>Call=apiServiceNotif.getNotifications(id,onReceive);”
我在[onStartCommand]中调用回调函数,如下所示:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
getMessage("1"); //for testing
return START_STICKY;
}
我在另一个类上测试了回调函数,运行良好。这是我第一次和服务部门合作,所以我真的有点迷路了。任何帮助都非常感谢。
这是我的回调函数:
public void getMessage(String id){
ApiServiceMessage apiServiceMessage = ApiClient.getClient().create(ApiServiceMessage.class);
Call<List<Messsages>> call = apiServiceMessage.getMessages(id);
call.enqueue(new Callback<List<Messages>>() {
@Override
public void onResponse(Call<List<Messages>> call,
Response<List<Messages>> response) {
List<Messages> messages= response.body();
for(Messages m: messages){
Toast(getApplicationContext(), m.getMessageTitle + " " + m.getMessageContent, Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onFailure(Call<List<Messages>> call, Throwable t) {
Toast.makeText(getApplicationContext(), "Failed to load." + t, Toast.LENGTH_LONG).show();
}
});
}