2016-10-14 5 views
-1

ITEMCOUNT個のフィールドを保存しないITEMCOUNT個= 0はParseQueryは</p> <p>CategoryModel構築を働いていない

ParseObject parseObjectCategory = Categorylist.get(i); 

         ParseQuery<ParseObject> query = ParseQuery.getQuery("List"); 
         query.whereEqualTo("parent", parseObjectCategory); 

         query.findInBackground(new FindCallback<ParseObject>() { 
          public void done(List<ParseObject> scoreList, ParseException e) { 
           if (e == null) { 
            itemCount = scoreList.size(); 
            Log.e("ItemCountGENERAL",""+itemCount); 
           } else { 
            Log.e("Aldaa","---------------------------------------------------------------"); 
           } 
           itemCount = scoreList.size(); 
          } 
         }); 

         Log.e("ItemCount",""+itemCount); 

         if(name.equals("Inbox")){ 
          categoryMode1= new CategoryModel(itemData,name,R.drawable.ic_inbox, itemCount); 
         }else if(name.equals("Stared")){ 
          categoryMode1= new CategoryModel(itemData,name,R.drawable.ic_stars, itemCount); 
         }else{ 
          categoryMode1= new CategoryModel(itemData,name,R.drawable.ic_inbox, itemCount); 
         } 

         mainData.add(categoryMode1); 
         mainAdapter.notifyDataSetChanged(); 
        }` 

私のイメージに動作していない:

enter image description here

ミー www.google.mn

ヘルプ
+0

ようこそスタックオーバーフロー!良い質問をするので、良い答えを得るためにあなたを助けるために私たちの[SO質問チェックリスト](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)を確認してください。 –

答えて

0

あなたはFinalCallbackにこれらのコード

    if(name.equals("Inbox")){ 
         categoryMode1= new CategoryModel(itemData,name,R.drawable.ic_inbox, itemCount); 
        }else if(name.equals("Stared")){ 
         categoryMode1= new CategoryModel(itemData,name,R.drawable.ic_stars, itemCount); 
        }else{ 
         categoryMode1= new CategoryModel(itemData,name,R.drawable.ic_inbox, itemCount); 
        } 

        mainData.add(categoryMode1); 
        mainAdapter.notifyDataSetChanged();` 

を追加する必要があります。 初期化されていないフィールドを呼び出しているため、itemCountは0です。 itemCountは別の非UIスレッドで実行されるFinalCallbackの内部でその値を取得します。これは、アクセスしているUIスレッドが非UIスレッドの前に実行される可能性があることを意味します。だからあなたはあなたがパースから取得されたデータを使用するロジックを移動する必要がありますFinalCallback

+0

ヘルプ[link](https://github.com/naidannn/ULIST) – Naidan

関連する問題