2012-01-28 21 views
11

द्वारा प्रगति बार स्थिति को दिखाने के लिए मैं एंड्रॉइड 2.3.3 के लिए प्रगति संवाद का उपयोग कर रहा हूं। प्रगति संवाद की स्थिति प्रारूप के साथ "60% 60/100" के रूप में दिख रही है, लेकिन मैं केवल 60 प्रतिशत "प्रतिशत नहीं दिखाना चाहता हूं। मैं यह कैसे कर सकता हूं? कृपया मदद करे।प्रतिशत

उत्तर

1

कृपया this लिंक पर जाएं।

इसके अलावा यह एसडीके के अंदर एपिडेमोस में पूरी तरह से समझाया गया है। उदाहरण जो आप चाहते हैं उसका नाम है: ProgressBar3.java और \ ApiDemos \ src \ com \ example \ android \ apis \ view \

में भी पाया जा सकता है, अगर आप संवाद की सीमाओं को हटाना चाहते हैं तो केवल प्रगति पट्टी प्रकट होती है कि आप संवाद को पारदर्शी दृश्य/ओवरले के रूप में परिभाषित कर सकते हैं (यह उदाहरणों में भी समझाया गया है)।

17

documentation के अनुसार, आप अपने ProgressDialog उदाहरण पर setProgressNumberFormat (null) बुलाना चाहिए इस व्यवहार पाने के लिए

+2

विधि है कि आप का उल्लेख किया है एपीआई स्तर के लिए लागू है 11. मेरा 10 – Dhanesh

+1

मेरे बुरा :(मैं खुदाई स्रोत में कोड है और यह पता लगाना है कि एपीआई 10 में ऐसा करने के लिए कोई "सामान्य" तरीका नहीं है। मैं एंड्रॉइड 4.0.1 से पूर्ण प्रोग्रेसडियलॉग कोड प्राप्त करने के लिए वर्कअराउंड के रूप में प्रस्ताव कर सकता हूं और अंतर्निहित संस्करण के बजाय इसका उपयोग कर सकता हूं। शायद, यह कुछ गड़बड़ होगी एंड्रॉइड "आंतरिक" संसाधन, लेकिन यह पुन: उपयोग के स्रोत के रूप में भी उपलब्ध है। – OleGG

11

अरे यहाँ एक सर्वर से फ़ाइल डाउनलोड, sdcard के लिए एक फ़ाइल को बचाने और एक प्रगति बार दिखा।

public class XYZ extends Activity { 

    public static final int DIALOG_DOWNLOAD_PROGRESS = 0; 
    private Button startBtn; 
    private ProgressDialog mProgressDialog; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     startBtn = (Button)findViewById(R.id.startBtn); 
     startBtn.setOnClickListener(new OnClickListener(){ 
      public void onClick(View v) { 
       startDownload(); 
      } 
     }); 
    } 

    private void startDownload() { 
     String url = "http://.jpg"; 
     new DownloadFileAsync().execute(url); 
    } 
    @Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case DIALOG_DOWNLOAD_PROGRESS: 
      mProgressDialog = new ProgressDialog(this); 
      mProgressDialog.setMessage("Downloading file.."); 
      mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
      mProgressDialog.setCancelable(false); 
      mProgressDialog.show(); 
      return mProgressDialog; 
     default: 
      return null; 
     } 
    } 

class DownloadFileAsync extends AsyncTask<String, String, String> { 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     showDialog(DIALOG_DOWNLOAD_PROGRESS); 
    } 

    @Override 
    protected String doInBackground(String... aurl) { 
     int count; 

    try { 

    URL url = new URL(aurl[0]); 
    URLConnection conexion = url.openConnection(); 
    conexion.connect(); 

    int lenghtOfFile = conexion.getContentLength(); 
    Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile); 

    InputStream input = new BufferedInputStream(url.openStream()); 
    OutputStream output = new FileOutputStream("/sdcard/some_photo_from_gdansk_poland.jpg"); 

    byte data[] = new byte[1024]; 

    long total = 0; 

     while ((count = input.read(data)) != -1) { 
      total += count; 
      publishProgress(""+(int)((total*100)/lenghtOfFile)); 
      output.write(data, 0, count); 
     } 

     output.flush(); 
     output.close(); 
     input.close(); 
    } catch (Exception e) {} 
    return null; 

    } 
    protected void onProgressUpdate(String... progress) { 
     Log.d("ANDRO_ASYNC",progress[0]); 
     mProgressDialog.setProgress(Integer.parseInt(progress[0])); 
    } 

    @Override 
    protected void onPostExecute(String unused) { 
     dismissDialog(DIALOG_DOWNLOAD_PROGRESS); 
    } 
} 
} 

इस मिल की तरह ..

इस मैं नेट पर पाया उदाहरण छवि है। enter image description here

और यह मेरा xml फ़ाइल है:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/hello" /> 
    <Button 
     android:text="Start long running task.." 
     android:id="@+id/startBtn" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
    </Button> 
</LinearLayout> 
+5

यह प्रश्न का उत्तर नहीं है – SoroushA

संबंधित मुद्दे