这个问题在这里已有答案:
我正在使用recyclerview我从json格式的API获取数据。所以我创建了两个模型。一个是我的回收者查看数据,另一个是我的日历视图。我使用自定义适配器成功地在回收站视图中获取数据。现在我想在第二个模型中从json响应中获取日期。我这样做了。
我如何从JSON响应中读取日期:
final List<MyEventsDateModel> dateModel = new ArrayList<>();
String date = jsonArray.getJSONObject(i).getJSONObject("eventStudentListIbfk2rel").optString("scheduledDate");
String mainDate[] = date.split("T");
String eventDate = mainDate[0];
dateModel.add(new MyEventsDateModel(eventDate));
callback.onSuccess(dateModel);
MyEventsDateModel.Class
public class MyEventsDateModel extends BaseModel {
private String myEventDate;
public MyEventsDateModel(String myEventDate) {
this.myEventDate = myEventDate;
}
public MyEventsDateModel(Context actContext, List<MyEventsResponseModel> myEventsModel) {
}
public String getMyEventDate() {
return myEventDate;
}
public void setMyEventDate(String myEventDate) {
this.myEventDate = myEventDate;
}
}
现在在成功方法我有我的日期模型,我喜欢这样使用:
public void onSuccess(List<MyEventsDateModel> dateModel) {
//NOW HERE I WANT TO GET getMyEventDate(); how can i do that?
}
尝试过这样但是它说的是nullPointerException
String myDate = myEventsDateModel.getMyEventDate();
LoggerUtils.error("Date", "" + myDate);
addDate(myDate);
<< - 为什么这个问题被标记为重复?我知道什么是空指针异常。我询问了Json解析并从for循环中获取响应中的每个字符串。请删除重复标记 - >>
试试这样:
MyEventsDateModel myEventsDateModel = dateModel.get(<PASS YOUR INDEX HERE>)
String myDate = myEventsDateModel.getMyEventDate();
LoggerUtils.error("Date", "" + myDate);
addDate(myDate);