【发布时间】:2018-06-22 13:43:10
【问题描述】:
我从adapter 得到列表,它工作正常。现在我需要在单击按钮时将其存储在MainActivity 的列表中。但我正在崩溃,
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void com.savedayreq.RoutePlanDayRequests.setPartnerId(java.lang.String)” 在 com.view.RoutePlanVisitChangeActivity$2.onClick(RoutePlanVisitChangeActivity.java:92)
第 92 行就是这个代码。
submitChangeRequest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
adapter = (RoutePlanVisitChangeAdapter) mRecyclerView.getAdapter();
List<RoutePlanDayRequests> routePlanDayRequests=null;
RoutePlanDayRequests requests = null;
for (int i = 0; i < adapter.getItemCount(); i++) {
Retailers selectedView = adapter.getItem(i);
View dataView = mRecyclerView.getChildAt(i);
Spinner toDaySpinner = (Spinner) dataView.findViewById(R.id.to_day);
//i can print this oldDay,newDay, msisdn line..
String oldDay = selectedView.getRoutePlanDayOfWeek();
String newDay = toDaySpinner.getSelectedItem().toString();
String msisdn = selectedView.getMsisdn(); //i can also print this line in log.
//***But I am getting crash from this line no 92..***
requests.setPartnerId(selectedView.getMsisdn());
requests.setParentPartnerId(selectedView.getMsisdn());
requests.setApproverId("1");
requests.setStatus("0");
requests.setRetailerPrmId(selectedView.getMsisdn());
requests.setOldDay(oldDay);
requests.setNeweDay(newDay);
routePlanDayRequests.add(requests);
updateServiceList(AppUtils.getMsisdn(mSharedPreferences),routePlanDayRequests);
}
【问题讨论】:
-
RoutePlanDayRequests requests = null是问题 -
这是您所缺乏的基本 JAVA 知识。初始化两个空对象。
标签: android android-layout arraylist android-recyclerview android-adapter