我正在尝试按日期对RecyclerView进行排序,但我尝试了太多东西,现在不知道该尝试什么。问题出在adapter.notifyDataSetChanged();这一行,因为如果我不放入put,就不会显示错误,也不会更新回收器视图
这就是我现在所拥有的,并向我展示了那个错误。
空无法启动activity ComponentInfo{st.stc/sharetaxi.sharetaxicabdriver.PendingTrajectRecyclerView}:引用:尝试调用虚方法‘
java.lang.NullPointerException on a null object reference’
首先,我将所有轨迹放在GetAllTrajects()方法中,并在Collections.sort中解析以确定TextView的日期。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pending_traject_recycler_view);
listPendingTraject=new ArrayList<>();
recyclerPendingTraject = (RecyclerView)findViewById(R.id.pendingTrajectRecyclerView);
recyclerPendingTraject.setLayoutManager(new LinearLayoutManager(this));
GetAllTrajects();
Collections.sort(listPendingTraject, new Comparator<PendingTrajectPOJO>() {
@Override
public int compare(PendingTrajectPOJO pendingTrajectPOJO, PendingTrajectPOJO t1) {
String Date = pendingTrajectPOJO.getDate();
String Date1 = t1.getDate();
Date date=null,date1=null;
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MMM/yyyy");
try {
date = formatDate.parse(Date);
date1 = formatDate.parse(Date1);
} catch (ParseException e) {
e.printStackTrace();
}
return date.before(date1) ? 1 : 0;
}
});
adapter.notifyDataSetChanged();
}
在方法GetAllTrajects中,当我将所有信息放入时,我调用方法showPendingTraject()
private void showPendingTraject() {
listPendingTraject.add(new PendingTrajectPOJO(nameUsers,coordenatesOriginBundle,Origin,Destination,DataIHora,coordenatesDestiBundle,contadorCordenades));
Log.d("ID",""+nomUser);
adapter = new AdapterPendingTraject(listPendingTraject);
recyclerPendingTraject.setAdapter(adapter);
}
发布于 2018-05-28 17:50:03
我认为下面提到的这一行是在制造问题。
String Date =pendingTrajectPOJO.getDate();
将Date重命名为其他名称,看看是否有效
https://stackoverflow.com/questions/50562960
复制相似问题