2015-02-06 2 views
0

Итак, я ищу простой способ отображения всех значений строки с заданным идентификатором объекта. Я чувствую, что это должно быть очень просто - я прочитал раздел помощи Android и, возможно, я смотрю прямо мимо него, но я пробовал довольно долгое время и не могу его получить.Отображение всех значений строки

ObID | значение 1 | значение 2 | стоимость 3


xxxxx | a | b | c

В качестве примера я хочу предоставить «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")); 

Это единственный способ, которым я имел счастье, но это своего рода поражения цели, чтобы получить его для отображения любого из имен столбцов я должен физически типа их в.

*************** [EDIT ON 2/9/15] ******************* *********************

Вот мой стол из Parse.com Table

код Варуна при условии, мне возвращает следующий результат в моем ListView:

Цвет: 'зеленый', НазваниеКомпании: 'g1'

Цвет: 'greenTwo', НазваниеКомпании: g2;

Цвет: 'красный', НазваниеКомпании: r1

Цвет: 'RedTwo', НазваниеКомпании: r2

Цвет: 'COLOR', НазваниеКомпании: companyOne

Так это запрашивая мой стол и предоставляя мне данные ИЗ КОЛОННЫ. Я хочу вернуть данные ROW. Таким образом, за мой стол выше того, что я хотел бы видеть бы следующее:

EX:

ObjectId выбран: 9jRcxICwgt

ListView отношения будут показывать:

'greenTwo' в паре с «цвет '

'g2' в паре с 'companyOne'

'GG2' в паре с 'companyTwo'

«ggg2» в паре с «companyThree»

Я планирую иметь лодочные нагрузки компании, поэтому я полагал, что Theres простой способ запроса компании без ввода «companyOne», «CompanyTwo», и т.д ... для КАЖДОЙ компании у меня как в моем столе, так и в моем коде. Я просто предполагал, что могу ввести идентификатор объекта, а затем вернуть все данные строки для всего, что соответствует этому.

+0

Try подклассов, чтобы написать свой собственный класс и переопределить ToString() метод. Таким образом, вы можете просто сделать object.toString(), чтобы получить все результаты в одной строке. – varun257

+0

http://stackoverflow.com/questions/10734106/how-to-override-tostring-properly-in-java – varun257

+0

Вы потеряли меня там, Варун, я не понимаю, как это относится. Не могли бы вы рассказать? Я новичок в программировании btw – user3803709

ответ

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()); 
+0

Varun- Спасибо за ответ. Я думаю, что это ведет меня по правильному пути, но я все равно не делаю то, что мне нужно. Это возвращает мне значения в столбце. См. Мой оригинальный пост [EDIT], где я буду включать таблицу и показать вам, что я получаю. – user3803709

Смежные вопросы