2013-12-17 2 views
0

나는 안드로이드에서 꽤 새로운 편이어서 내 질문은 매우 흔하게 들릴지도 모른다. parse.com에서 일부 데이터를 다운로드 할 때 진행률 표시 줄을 나타나게하고 데이터 다운로드가 완료되고 listView에 표시되면 사라지게하려고합니다. Parse에서 문서를 살펴 봤지만 툴을 어떻게 사용할 수 있는지 명확하지 않습니다. 내가 .. 내가 백그라운드에서 작업을하기 위해 몇 가지 스레드를 사용해야하고, UI를 바쁜 키핑 여부를 .. 내 코드 노호보고 제가 관리 할 수있는 방법을 이해하는 데 도움이 바랍니다parse.com에서 일부 데이터를 다운로드 할 때 진행률 표시 줄

ListViewsAllReports

public class ListViewsAllReports extends Activity implements OnClickListener{ 

    Button aReportsBackButton; 
    ListView aReports; 
    lvAdapterAllReports lvAdapterAllReports; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_list_views_all_reports); 

     Parse.initialize(this, "hm9VwSWl4hyrI1ZbkrvEXXkwdvXSxZLZYbheDaFs", "4BmzC3n9qrt0OhceQJ8yzp3iKrIU7rdsAhf2FSQW"); 

     setUpUI(); 

    }//onCreate 

    public void setUpUI(){ 
     aReportsBackButton=(Button)findViewById(R.id.AllReportsBackButton); 
     aReportsBackButton.setOnClickListener(this); 

     aReports=(ListView)findViewById(R.id.AllReportsLV); 
     lvAdapterAllReports = new lvAdapterAllReports(getApplicationContext(), "Animal"); 
     aReports.setAdapter(lvAdapterAllReports); 
     registerForContextMenu(aReports); 
    }//void setUpUI() 
을 이해

lvAdapterAllReports

public class lvAdapterAllReports extends ParseQueryAdapter<ParseObject> { 

    private Vector<Animal> animalList ; 

    public lvAdapterAllReports(Context context, String className){ 
     super(context, className); 

     animalList = new Vector<Animal>(); 

     ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Animal"); 
     query.findInBackground(new FindCallback<ParseObject>() { 

      @Override 
      public void done(List<ParseObject> objects, ParseException e) { 
       // TODO Auto-generated method stub 
       if (e == null) { 
        for (int i = 0; i < objects.size(); i++) { 
         Animal animal = new Animal(); 
         animal.setValueFromParse(objects.get(i)); 
         animalList.add(animal); 
        }//for 
       }//if 
      }//void done() 
     });//anonymous class 

    }//constructor 

    public View getItemView(ParseObject object, View v, ViewGroup parent) { 
     LinearLayout linearLayout; 
     if (v == null) { 
      linearLayout = (LinearLayout)View.inflate(getContext(), R.layout.mycasesviews, null); 
     } 
     else{ 
      linearLayout = (LinearLayout)v; 
     } 
     super.getItemView(object, v, parent); 
     final Animal a = new Animal(); 
     a.setValueFromParse(object); 


     ((TextView)linearLayout.findViewById(R.id.myCaseViewLostOrFound)).setText(a.getmLostOrFound()); 
     ((TextView)linearLayout.findViewById(R.id.myCaseViewAnimalType)).setText(a.getmType()); 
     ((TextView)linearLayout.findViewById(R.id.myCaseViewDate)).setText(a.getmDate()+""); 
     ((Button)linearLayout.findViewById(R.id.myCaseViewContactButton)).setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent intent = new Intent(getContext(), ContactOwner.class); 
       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       intent.putExtra("UserId", a.getmOwnerId()); 
       getContext().startActivity(intent); 

      } 
     }); 


     final ImageView img = (ImageView)linearLayout.findViewById(R.id.myCaseViewImage); 

     ParseFile fileImage = (ParseFile)object.getParseFile("Image"); 
     if (fileImage != null) { 

      fileImage.getDataInBackground(new GetDataCallback() { 

       @Override 
       public void done(byte[] data, ParseException e) { 
        if (e==null) { 
         Bitmap resultImage = BitmapFactory.decodeByteArray(data, 0, data.length); 
         img.setImageBitmap(resultImage);      
        }//if 
       }//done 
      });//anonymous class 
     }//if fileImage 

     return linearLayout; 
    }//getItemView 




}//class 

답변

0

당신은 그것을 달성하기 위해 onLoaded 방법을 구현할 수 있습니다

lvAdapterAllReports.addOnQueryLoadListener(new OnQueryLoadListener<ParseObject>() { 
    public void onLoading() { 
    } 
    public void onLoaded(List<ParseObject> objects, ParseException e) { 
     // Dismiss your Progress Bar here 
    } 
});