将Parse.com关系用户获取到Listview(来自对象)?

时间:2014-08-06 01:00:57

标签: android listview parse-platform

我在ParseObject中添加了一个与Users相关的关系,我希望填充已添加到listview上的关系的用户列表。这是我到目前为止所做的。

protected List<ParseUser> mCustomers;
ParseObject shopinfo= new ParseObject("Shopinfo");
     // get the object from parse

ParseRelation<ParseUser> mCustomerRelation =   shopinfo.getRelation(ParseConstants.KEY_CUSTOMER_RELATION);
    mCustomerRelation.getQuery().findInBackground(new FindCallback<ParseUser>() {

        @Override
        public void done(List<ParseUser> customers, ParseException e) {
            if(e==null){
                mCustomers=customers;
                String[] people= new String [mCustomers.size()];
                int i=0;
                for(ParseUser customer : mCustomers){
                    people[i]=customer.getusername;
                    i++;
                }
                ArrayAdapter<String>adapter=new ArrayAdapter<String>(getListView().getContext(), 
                        android.R.layout.simple_list_item_1,people);
                setListAdapter(adapter);
            }
            else {
                AlertDialog.Builder builder = new AlertDialog.Builder(ResepActivity.this);
                builder.setMessage(e.getMessage())
                    .setTitle(R.string.error_title)
                    .setPositiveButton(android.R.string.ok, null);
                AlertDialog dialog = builder.create();
                dialog.show();

            }

        }
    });

我一直得到“java.lang.IllegalStateException:无法编码与未保存的ParseObject的关联”

1 个答案:

答案 0 :(得分:1)

在你的for循环中:getUsername是一种方法,而且有一个资本&#39; U&#39;。您似乎错误地使用它。尝试:

people[i] = customer.getUsername();

编辑: 我在评论中收到有关问题的更多信息之后编辑了这个答案,但是,我的第一个答案仍然是修复了错误的代码。

在发布有关它的问题之前,请先阅读解析文档。您正在寻找的大部分答案都在文档中,它们非常好。

由于您拥有所需ParseObject的对象ID,因此可以创建该对象,然后获取该对象的关系。而不是

ParseObject shopinfo= new ParseObject("Shopinfo");

使用它:

ParseObject shopinfp = ParseObject.createWithoutData("Shopinfo", "objectID");

您可以使用此方法从数据库中创建所需的parse对象,而无需使用ParseQuery。如果您拥有所需对象的objectID,并且希望在代码中使用该对象,请使用此方法。