显示行的所有值

时间:2015-02-06 01:58:14

标签: android parse-platform

所以我正在寻找一种简单的方法来显示给定objectID的行的所有值。我觉得这应该是非常直接的 - 我已经阅读了Android帮助部分,也许我已经看过了它,但我已经尝试了很长一段时间但无法获得它。

ObID |价值1 |价值2 |价值3


xxxxx | a | b | ç

作为一个例子,我想提供" xxxxx"然后让我的列表视图显示" a,b,c"。我已尝试使用以下内容进行查询:

@Override
        public void onClick(View v) {
            masterList.removeAll(masterList);
            ParseQuery<ParseObject> columnQuery = new ParseQuery<ParseObject>("MasterTable");

            columnQuery.whereEqualTo("objectId", "vqWGQa6lPT");
            masterListView.setAdapter(adapter);

            columnQuery.findInBackground(new FindCallback <ParseObject> (){

                @Override
                public void done(List<ParseObject> objects, ParseException e) {

                        if(e==null){
                            for( int i = 0; i < objects.size() ; i++) {                

                                Toast.makeText(getApplicationContext(), "Search Successful!", Toast.LENGTH_SHORT).show();

                                //Searches list under the company currently typed into "Company" (AUTOFIND SO STRING SPELLED CORRECTLY!!!)
                                masterList.add(objects.get(i).getString("color"));
                                masterList.add(objects.get(i).getString("companyOne"));

这是我唯一的运气方式,但它有点失败的目的是让它显示我必须要输入的任何列名。

*************** [编辑于2015年2月9日] *********************** *****************

这是来自Parse.com Table

的表格

代码Varun提供的我在listview中返回以下输出:

颜色:&#39;绿色&#39;,公司名称:&#39; g1&#39;

颜色:&#39; greenTwo&#39;,CompanyName:g2;

颜色:&#39;红色&#39;,公司名称:R1

颜色:&#39; RedTwo&#39;,公司名称:R2

颜色:&#39; COLOR&#39;,公司名称:companyOne

所以这是查询我的表并向我提供COLUMN的数据。我想要的是返回ROW数据。因此,根据我上面的表格,我想看到的内容如下:

EX:

选择了ObjectID:9jRcxICwgt

ListView关系将显示:

&#39; greenTwo&#39;与&#39; color&#39;

配对

&#39; G2&#39;与&#39; companyOne&#39;

配对

&#39; GG2&#39;与&#39; companyTwo&#39;

配对

&#39; ggg2&#39;与&#39; companyThree&#39;

配对

我计划拥有公司的船只,所以我认为这是一种更简单的方式来查询公司而无需键入&#34; companyOne&#34;,&#34; CompanyTwo&#34;等等...适用于所有公司我的表格和代码都有。我只是假设我可以输入objectID,然后返回匹配的所有行数据。

1 个答案:

答案 0 :(得分:0)

为您的对象创建一个新类ParseObject

    @ParseClassName("MasterTable")
    public class MasterTable extends ParseObject{
    // Add public methods to get the value of the object based on key
    public String getColor(){ return getString("color"); }
    // Override toString() method for this object :
    @Override
    public String toString(){
     return "Color: '" + this.getString("color") + "', CompanyName: '" + this.getString("companyOne");
}

在执行Parse.initialize()

之前注册此课程
ParseObject.registerSubclass(MasterTable.class)

编写扩展子类的查询:

 ParseQuery<MasterTable> query = new ParseQuery<>(MasterTable.class);

Now when you get the object from the  Parse,
query.findInBackground(new FindCallback <MasterTable> (){

                @Override
                public void done(List<MasterTable> objects, ParseException e) {

                        if(e==null){
                            for( int i = 0; i < objects.size() ; i++) {                

                                Toast.makeText(getApplicationContext(), "Search Successful!", Toast.LENGTH_SHORT).show();

                                //Searches list under the company currently typed into "Company" (AUTOFIND SO STRING SPELLED CORRECTLY!!!)
                                masterList.add(objects.get(i).toString());
                                masterList.add(objects.get(i).toString());