开发者社区> 问答> 正文

BmobQuery查询到的数据如何传值给全局变量??报错

  1. 需求:我想要通过把BmobQuery查询得到的数据传给集合mItems,然后可以通过mItems给ListView添加数据源,点击时获取到对应Item的id等等。
  2. 问题描述:BmobQuery查询成功了,可是只能在OnSuccess方法里面去写,我在网上查询的结果是说Bmob属于异步加载加载数据,所以我使用mItems的时候还没得到回调的值。那要怎么解决这个问题呢?我这边有一种解决办法,但是这样只能把得到的数据显示到ListView上。在方法外面使用mItems依然失败,这样我实现点击事件的时候没法定位的。
  3. 代码如下
private void getData(){
        BmobQuery<Task> taskData = new BmobQuery<>();
        //查询状态为0,即未接单的数据
        taskData.addWhereContains("status","0");
        taskData.findObjects(getActivity(), new FindListener<Task>() {
            @Override
            public void onSuccess(final List<Task> list) {
                Toast.makeText(getActivity(), "成功获取到:" + list.size()+"条数据!", Toast.LENGTH_SHORT).show();
//                mItems.addAll(list);
                getActivity().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        mItems.addAll(list);
                        mAdapter = new HostAdapter(getActivity(),mItems);
                        mListView.setAdapter(mAdapter);
                    }
                });

}

然后在下面测试:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        hostView = inflater.inflate(R.layout.fragment_host,container,false);
        Bmob.initialize(getActivity(), "XXXXXXXXXXXXXXXXXXXXX");
        initView();
        initEvent();

        getData();
        Toast.makeText(getActivity(),mItems.size(),Toast.LENGTH_LONG).show();

        return hostView;
    }

如果没有上面这个Toast是可以把加载到的数据显示到ListView上的,但是一加入这个Toast就会运行崩溃,报错如下:


麻烦大家帮忙看一下,有没有什么好的解决方案,谢谢!



展开
收起
爱吃鱼的程序员 2020-06-09 15:58:28 615 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你给<spanstyle="font-family:Consolas,'BitstreamVeraSansMono','CourierNew',Courier,monospace;font-size:14px;line-height:15.4px;background-color:#FFFFFF;">mItems.size()+"",恩恩,那个地方是临时加上去的,纯属笔误。不过我想要的效果已经实现了。谢谢了

    2020-06-09 15:58:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载