今天在写用户订单方面的项目模块,自定义订单表并保存到服务器后,发现查询不到相应的订单信息,虽然提示查询成功,但是RecyclerView压根不显示任何东西。通过逛bmob的社区我发现:查询操作是异步执行的,需要在查询方法中更新ui,于是代码更改如下就ok了:
/从服务器获取用户的所有订单的各项数据 private void getData(){ datas=new ArrayList<OrderDetail>(); BmobQuery<OrderDetail> query=new BmobQuery<OrderDetail>(); //查询用户名oppsiteUserId为当前司机用户名的所有订单 query.addWhereEqualTo("oppsiteUserId",driverId); //执行查询的方法 query.findObjects(new FindListener<OrderDetail>() { @Override public void done(List<OrderDetail> list, BmobException e) { if(e==null){ Log.d("查询成功:","共"+list.size()+"条数据。"); datas=list; myAdapter=new OrderDetailAdapter(MessageCenterActivity.this,datas); //设置适配器 recyclerView.setAdapter(myAdapter); }else{ Log.d("查询失败:","无相关订单信息!"); } } }); }写个文章记录一下,防止以后还走老路。