我正在尝试按日期对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));