2016-07-02 2 views
0

파스 서비스를 사용하여 백그라운드에서 검색된 이미지로 목록을 업데이트해야합니다. 아래 코드를 사용하여 이미지를 검색하고 표시 할 수 있지만 상호 작용이 매우 느립니다. 사용자 상호 작용 속도에 영향을주지 않고 ListView를 동적으로 업데이트하는 더 좋은 방법이 있습니까?안드로이드가 이미지에 대해 ListView를 동적으로 업데이트합니다.

ParseQuery<ParseObject> userFeedQuery = ParseQuery.getQuery("Offers");   
    userFeedQuery.findInBackground(new FindCallback<ParseObject>() { 
     @Override 
     public void done(List<ParseObject> objects, ParseException e) { 
      if (e == null){ 
       if (objects.size() > 0){ 
        for (ParseObject object:objects){ 
         final String offerName = object.getString("offerName"); 
         final String offerDetail = object.getString("offerDetails"); 
         final Bitmap[] offerImage = new Bitmap[1]; 
         ParseFile file = (ParseFile) object.getParseFile("offerImage"); 
         file.getDataInBackground(new GetDataCallback() { 
          @Override 
          public void done(byte[] data, ParseException e) { 
           if (e == null){ 
            offerImage[0] = BitmapFactory.decodeByteArray(data,0,data.length); 

            offerModelList.add(new OfferModel(offerName,offerDetail, offerImage[0])); 
            adapter.notifyDataSetChanged(); 
           } 
          } 
         }); 
        } 
       } 
       adapter = new OffersAdapter(getApplicationContext(),R.layout.offers_table,offerModelList); 
       offersListView.setAdapter(adapter); 
      } 
     } 
    }); 
+0

타사를 사용하여 글라이드, 피카소 등의 이미지를 표시합니다. – Nisarg

답변

0

예, 당신은 Picaso 또는 Glide로 ParseImageView를 대체 할 수 있지만 피카소를 선호합니다.

String OfferImageUrl = object.getParseFile("offerImage"); 
     if (!TextUtils.isEmpty(OfferImageUrl)) { 
      Picasso.with(this) // use getContext or contex for fragments or adapter 
        .load(OfferImageUrl) 
        .error(android.R.drawable.error) // your own error image 
        .into(mOfferImage); // mOfferImage = (ImageView) findViewById(R.id.offer_image); 
     } 

희망이 도움

ParseFile file = (ParseFile) object.getParseFile("offerImage"); 

를 교체합니다. 이 질문에 대한 도움이 필요하면 알려주십시오.

+0

감사하지만 불행히도 작동하지 않습니다. 검색된 이미지를 배열에 저장하고 ListView에로드했습니다. 콜백 기능을 사용하면 이미지가로드되지 않습니다. –

관련 문제