मेरे पास एक बहु-रेखा TextView
है जिसमें android:ellipsize="end"
सेट है। मैं जानना चाहता हूं, हालांकि, यदि मैं वहां मौजूद स्ट्रिंग वास्तव में बहुत लंबा हूं (ताकि मैं सुनिश्चित कर सकूं कि पूर्ण स्ट्रिंग पृष्ठ पर कहीं और दिखाई दे)।मैं कैसे बता सकता हूं कि मेरा टेक्स्टव्यू लंबित किया गया है या नहीं?
मैं TextView.length()
का उपयोग कर सकता हूं और स्ट्रिंग की अनुमानित लंबाई फिट होने के बारे में पता लगा सकता हूं, लेकिन चूंकि यह कई रेखाएं हैं, TextView
लपेटने के लिए हैंडल करता है, इसलिए यह हमेशा काम नहीं करेगा।
कोई विचार?
यह विफल रहता है यदि आप अपने इनपुट की आखिरी पंक्ति पर कोई रिक्त स्थान नहीं रखते हैं, तो "jashdkjashdkjashdkasjhdashdkasjdhkajsdhkasjdhakjshdksjahdaksjhdajkshdkajshdkjashdkjashdja" जैसे कुछ रिक्त स्थान दर्ज करते हैं। getEllipsisCount() उस मामले में 0 लौटाएगा। इसे ठीक करने के लिए, केवल अंतिम पंक्ति की जांच करने के बजाय, आपको सभी पंक्तियों के माध्यम से लूप करना होगा और जांचें कि (l.getEllipsisCount (n)> 0) सत्य लौटाएं; सभी 0 <= n <रेखाओं के लिए। – Tiago
एपीआई <= 14 में 'getEllipsisCount' फ़ंक्शन' में बग की वजह से, यह असफल हो जाएगा और पाठ में 0 \ n 'जैसे विशेष वर्ण होते हैं। तो आप समर्थन पुस्तकालयों का उपयोग करके और 'if (l.getEllipsisCount (line-1)> 0) '' के साथ' (l.getEllipsisCount (line-1)> 0 || TextViewCompat.getMaxLines (यह) को बदलकर इसे काम कर सकते हैं। '। – Bam
उह, एकल पंक्ति कथन के लिए भी ब्रैकेट का उपयोग करें अगर –