प्रयास करें {answerField.setText ("Unscrambling ... यह एक मिनट ले सकता है"); BufferedInputStream (getAssets () खुला ( "wordlist.txt")।); बुफ्फ़र्ड इनटस्टस्ट्रीम [] टेक्स्टफ़ाइल = नया बफ़र इनटस्टस्ट्रीम [28]; के लिए (इंट आई = 0; आई & lt; 28; i ++) {टेक्स्टफाइल [i] = नया बफ़र इनटस्टस्ट्रीम (getAssets ()। खुला (i + 1 + ".txt")); } AnswerField.setText (Unscramble.go (tField.getText () + "", टेक्स्टफ़ाइल)); मेरी समस्या पंक्ति answerField.setText ("अनुक्रमण के साथ है ... यह एक मिनट लग सकता है");
यदि कोड जैसा है, तब यह पंक्ति कुछ भी नहीं करेगी, लेकिन अगर मैं कोड answerField.setText (Unscramble.go (tField.getText () + "", टेक्स्टफ़ाइल) की अंतिम पंक्ति को निकालती हूं; यह काम करता है और टेक्स्टव्यू कहते हैं, "अनुस्मारक ... यह एक मिनट ले सकता है"
लक्ष्य उस संदेश के लिए है, जब तक कि कार्यक्रम बिना किसी संक्रमित हो, तब इसका परिणाम होगा।
कोई मदद वास्तव में बहुत सराहना की जाएगी, क्योंकि मुझे कोई सुराग नहीं है कि मैं क्या कर रहा हूं या ऐसा क्यों हो रहा है।
समस्या ये है कि यूआई पहले कॉल के बीच setText और दूसरे को अपडेट नहीं करता है। एक समाधान, जैसा @ एवीडी उल्लेख किया गया है, इसका उपयोग करना है। अन्य समाधान, जिसे मैं मानता हूं, अनुशंसित है, उपयोग करना है। यह विचार आपके टेक्स्ट को "कोड" पर "अनसक्रैम्बलिंग" संदेश में सेट करना होगा, फिर doInBackground में अपना मुख्य कार्य चलाएं, फिर पाठ को पर सेट करें ऊपर दिए गए प्रलेखन लिंक में एक महान AsyncTask कोड है, जिसके लिए हेरफेर किया जा सकता है बस कुछ भी संभाल।
Comments
Post a Comment