2012-08-07 17 views
7

मेरे पास TextView के साथ प्रोग्रामेटिक रूप से जेनरेट ScrollView है। मैं समय-समय पर TextView में टेक्स्ट को अपडेट करना चाहता हूं और कुछ ने TextView GUI तत्व को अपडेट करने के लिए एक हैंडलर फ़ंक्शन लागू किया है। ऐसा लगता है कि सही ढंग से कॉल/काम करता है।स्क्रॉलव्यू सामग्री अद्यतन

हालांकि, वर्तमान में एक ही रास्ता मैं को पाया है वास्तव में संलग्न जानकारी दिखाने के लिए TextView प्राप्त कॉल करने के लिए है:

consoleText.append("New text to add to TextView"); 
// then: 
myScrollView.removeView(myTextView); 
myScrollView.addView(myTextView); 

यह ख़ासियत इष्टतम नहीं है और सोच रहा था मैं और कैसे ताज़ा कर सकते हैं

invalidate(); 
postvalidate(); 
: ScrollView की सामग्री को मेरे नए जोड़े जानकारी ...

भी प्रदर्शित करने के लिए

कुछ भी ऐसा प्रतीत नहीं होता - TextView ऑब्जेक्ट में नया टेक्स्ट है (डीबग में दिख रहा है) यह सिर्फ स्क्रीन पर नहीं खींच रहा है जब तक कि मैं ऐड/निकालें फ़ंक्शन नहीं कहता।

कोई भी जानकारी/मदद के लिए धन्यवाद आप

एफआर

+0

क्या एपेंड फ़ंक्शन हुड के नीचे टेक्स्टव्यू पर setText() को कॉल कर रहा है? – Samuel

उत्तर

8

आप TextView पर invalidate() और requestLayout() बुलाना चाहिए, और शायद scrollview दे सकते हैं।

+0

consoleText.invalidate(); consoleText.requestLayout(); यह धन्यवाद था :) – FiniteRed

+1

'स्क्रॉल व्यू' पर 'अमान्य() 'और' requestLayout' को कॉल करने से मेरी क्लिप क्लिपिंग की समस्या हल हो गई। धन्यवाद! – camelCaseCoder

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