2012-02-07 21 views
5

मैं आज पूरे दिन खोज रहा हूं कि कुछ उदाहरण कोड या ट्यूटोरियल्स ढूंढने की कोशिश कर रहा हूं, जबकि कार्य पूरा होने के दौरान प्रगति को कैसे बढ़ाया जाए। इस कार्य को पूरा करने का समय तदनुसार भिन्न होता है और वहां थ्रेड.sleep (xxxx) का उपयोग करने वाले बहुत से नमूने हैं जो इसे घुमाते हैं लेकिन यह कुशल नहीं है। यहां मैं यह करना चाहता हूं, मैं एक सूची दृश्य लोड करना चाहता हूं जो एक बटन क्लिक करने के बाद JSON का उपयोग कर वेब सेवा से पॉप्युलेट किया गया है। सूचीदृश्य पूरी तरह से ठीक हो रहा है, लेकिन आकार के आधार पर लोड होने में लगभग 5-10 सेकंड लगते हैं, इसलिए जब मैं उपयोगकर्ता प्रतीक्षा कर रहा हूं तो मैं कताई चक्रण दिखाना चाहता हूं। क्या कोई इसे प्राप्त करने के तरीके पर कुछ नमूना कोड साझा कर सकता है?एंड्रॉइड async टास्क संवाद सर्किल

धन्यवाद

+0

मेरा जवाब आप के लिए मदद करता है की तरह assync कॉल कर सकते हैं? – brian

+0

यदि आपको अपना उत्तर मिल गया है। कृपया एक स्वीकृत उत्तर की जांच करें। – brian

+0

कृपया मेरे उत्तर के बाएं – brian

उत्तर

5

आप नीचे दिए गए कोड की कोशिश कर सकते हैं,

progDailog = ProgressDialog.show(loginAct,"Process ", "please wait....",true,true); 

new Thread (new Runnable() 
{ 
    public void run() 
    { 
     // your code goes here 
    } 
}).start(); 

Handler progressHandler = new Handler() 
{ 

    public void handleMessage(Message msg1) 
    { 

     progDailog.dismiss(); 
     } 
} 
28

new Load().execute(); कॉल करने के लिए।

class Load extends AsyncTask<String, String, String> { 
     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      ProgressDialog progDailog = new ProgressDialog(Activity.this); 
      progDailog.setMessage("Loading..."); 
      progDailog.setIndeterminate(false); 
      progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
      progDailog.setCancelable(true); 
      progDailog.show(); 
     } 
     @Override 
     protected String doInBackground(String... aurl) { 
      //do something while spinning circling show 
      return null; 
     } 
     @Override 
     protected void onPostExecute(String unused) { 
      super.onPostExecute(unused); 
      progDailog.dismiss(); 
     } 
    } 
+0

पर एक टिक बनाएं धन्यवाद ब्रायन और हर कोई ... यह बहुत उपयोगी है। मुझे यह सब मिल गया .. –

+2

फिर कृपया एक टिक छोड़ दें। – brian

+0

प्रगति के बारे में (गतिविधि। यह); कक्षा लोड में एक त्रुटि देता है। बेशक। हमें क्या उपयोग करना चाहिए? –

11
private class LoadAssync extends AsyncTask<String, Void, Void> { 



    protected void onPreExecute() { 

     ProgressDialog dialog; 
        dialog.setMessage("Loading..."); 
    dialog.show(); 
    } 

    protected Void doInBackground(final String... args) { 
     // you can do the code here 
     return null; 


    } 

    protected void onPostExecute(final Void unused) { 

     if (dialog.isShowing()) { 
      dialog.dismiss(); 
     } 

    } 
} 

यू इस

LoadAssync mAsyync=new LoadAssync(); 
mAsyync.execute(null); 
संबंधित मुद्दे