2012-12-20 16 views
5

से फ़ाइल आकार नहीं मिल सकता है मैं फ़ाइल आकार निर्धारित करने के लिए निम्न विधि है:एंड्रॉयड संवाद

public static long getSize(String path) { 

    File file = new File(path); 

    if (file.exists()) { 
     long size = file.length(); 

     return size; 
    } else { 
     Log.e("zero size", "the file size is zero!"); 
     return 0; 

    } 

अब मैं निम्न विधि (कोड पूरा नहीं हुआ है) के साथ एक संवाद दिखाना चाहते हैं:

public void gimmeDialog(String path_to_file) { 

    final Dialog dialog = new Dialog(this); 
    dialog.setContentView(R.layout.dialog); 
    dialog.setTitle("Confirm"); 

    TextView text = (TextView) dialog.findViewById(R.id.txtUploadInfo); 

    Button dialogButtonOK = (Button) dialog.findViewById(R.id.btnDialogOK); 

    long uploadSize = Send.getSize(path_to_file)/1024/1024; 

    text.setText("You are about to upload " 
      + Long.toString(uploadSize) 
      + " MB. You must accept the terms of service before you can proceed"); 

    dialogButtonOK.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      dialog.dismiss(); 
     } 
    }); 

    dialog.show(); 
} 

समस्या यह है कि uploadSize हमेशा शून्य है, हालांकि विधि getSize() रिटर्न सही फ़ाइल आकार जब संवाद समारोह के बाहर कहा जाता है। दिया गया स्ट्रिंग पथ सही है। क्या कारण हो सकता है?

पीएस भेजें मेरा वर्ग का नाम

+0

अपनी फ़ाइल बड़ा तो 1 एमबी है? –

उत्तर

5

आप एक पूर्णांक विभाजन कर रहे हैं और अगर numenator भाजक से छोटा होता है परिणाम है 0.

एक डबल विभाजन के साथ प्रयास करें:

double uploadSize = 1.0 * Send.getSize(path_to_file)/1024/1024; 
1

कॉल getize() पर कॉल करें और संवाद फ़ंक्शन के बाहर एक चर सेट करें, जो संवाद फ़ंक्शन के अंदर पहुंच योग्य है। या इसे फ़ंक्शन में चर के रूप में पास करें।

यह वास्तव में समस्या की व्याख्या नहीं करता है, लेकिन यह इसे हल करता है।

+0

बस इतना आप जानते हैं; किसी टिप्पणी में प्रश्न पूछें और वास्तविक उत्तरों के लिए उत्तर पोस्ट रखें। वे वैध प्रश्न हैं, बस पूछने के लिए गलत फॉर्म :) – dutt

+0

ठीक है, टिप के लिए धन्यवाद। मैंने सोचा कि मैं जो सुझाव दे रहा था वह समस्या हल कर सकता है, इसलिए मैंने इसे एक जवाब में रखा। शायद मुझे refrase करना चाहिए? या बस एक टिप्पणी के रूप में हटाएं और जोड़ें? – breadbin

+0

डब्ल्यूटीएफ मैं बेवकूफ हूँ। निश्चित रूप से संवाद में फ़ाइल आकार को पारित करने का बेहतर तरीका है। यह काम करता है, धन्यवाद। – Droidman

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