为了账号安全,请及时绑定邮箱和手机立即绑定

关于查询问题

我查询一个editext输入的name的值,比如为"陈真",然后我的Bmob数据库的Person表中有5个叫陈真的数据,但是其他属性,age,score值是不一样的。然后我查询的时候,出来的结果是选了一个objectId第一位数字最小的陈真,然后复制了五遍。为什么?

BmobQuery<Person> person=new BmobQuery<Person>();
String str=edit.getText().toString();
person.addWhereEqualTo("name",str);
mapList=new ArrayList<Map<String, Object>>() ;
map=new HashMap<String,Object>();
person.findObjects(new FindListener<Person>() {
   @Override
   public void done(List<Person> list, BmobException e) {

       if(e==null){
           Toast.makeText(Second_MainActivity.this,"获取"+list.size()+"条数据",Toast.LENGTH_LONG).show();
           for(Person p:list){
             map.put("name",  p.getName());
              map.put("age", p.getAge());
              map.put("score", p.getScore());
               mapList.add(map);
           }

           SimpleAdapter adapter=new SimpleAdapter(Second_MainActivity.this,mapList,R.layout.listview,
                   new String[]{"name","age","score"},new int[]{R.id.name,R.id.age,R.id.score});
           lv.setAdapter(adapter);

正在回答

1 回答

我认为你可以使用set集合:set集合去重

0 回复 有任何疑惑可以回复我~
#1

qq_勿语_1 提问者

不是。。我已经找到问题了。。我应该要每次都初始化一个Map的,不能在全局变量里面声明。。不然就只有一个Map,里面的数据当然都一样
2017-03-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
创建Android后端服务之Bmob
  • 参与学习       26193    人
  • 解答问题       98    个

服务器端对于移动开发者不再是苦恼,快快学起来吧

进入课程

关于查询问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信