एंड्रॉइड रिप्ले "..." को दीर्घवृत्त वर्ण के साथ


306

AVD टूल 16 के बाद से मुझे यह चेतावनी मिल रही है:

Replace "..." with ellipsis character (..., …) ?

मेरे तार में। xml

इस लाइन पर

 <string name="searching">Searching...</string>

मैं कैसे प्रतिस्थापित ...करूं? क्या यह सचमुच है &#8230;?

किसी को इस एन्कोडिंग समझा सकता है?


एक नोट के रूप में, मैंने देखा है कि एंड्रॉइड की कुछ अनुवादित स्ट्रिंग फाइलें यूनिकोड इकाई के बजाय स्वयं का उपयोग करती हैं। यह देखते हुए कि एंड्रॉइड एक्सएमएल फाइलें आमतौर पर यूटीएफ -8 में वैसे भी एन्कोडेड होती हैं, मुझे कोई कारण नहीं दिखता है कि मैं संभावित-गूढ़ यूनिकोड इकाई के बजाय स्वयं चरित्र का उपयोग नहीं कर सकता हूं, विशेष रूप से इन दिनों अधिकांश वर्ड प्रोसेसिंग प्रोग्राम ऑटोकार्टिंग "..." का समर्थन करते हैं। … ”(Microsoft Word डिफ़ॉल्ट रूप से करता है, अंतिम बार मैंने जाँच की थी)।
JAB

क्या यह वास्तव में तीन डॉट्स (ASCII 46 / 0x26) है? या एएससीआईआई 133 (एक चरित्र)?
पीटर मोर्टेंसन

1
एक और SO प्रश्न के उत्तर में, 'Change ... यूनिकोड में बेहतर होने के कारण बेहतर विवरण है'। stackoverflow.com/a/27984145/973919 संक्षेप में, यह तीन डॉट्स को मल्टी लाइन टेक्स्ट (अकेले 1 या 2 डॉट्स दिखा रहा है) पर विभाजित होने से रोकता है और कुछ टाइपोग्राफियों में 3 डॉट्स देखना बुरा लगता है।
xarlymg89

जवाबों:


538

&#8230;" ... " के लिए यूनिकोड है, इसलिए इसे प्रतिस्थापित करें। तीन डॉट्स की तुलना में इसे चार / प्रतीक के रूप में रखना बेहतर है।


41
यह "बेहतर" क्यों है? यह अनुवादकों को पाठ देते समय चीजों को उलझा देता है। क्या हम किसी तरह इस मूर्खतापूर्ण चेतावनी को मार सकते हैं? धन्यवाद
swinefeaster

25
@swinefeaster जानने में अच्छा है :) लेकिन जैसे-जैसे वे देय होते हैं, वैसे-वैसे वे भी
चाय पीने लगते

25
@swinefeaster यह आंशिक रूप से "बेहतर" है क्योंकि यह टूटता नहीं है ("..." उदाहरण के लिए दूसरी अवधि में चारों ओर लपेट सकता है), और सैद्धांतिक रूप से भाषाएं उन्हें अलग तरीके से प्रस्तुत कर सकती हैं (कई एशियाई भाषाओं ने उन्हें बीच में डाल दिया और वे व्यापक (एक चरित्र चौड़ाई से मेल खाता है)। गैर-ब्रेकिंग हर जगह उपयोगी है, मुझे एंड्रॉइड के बारे में पता नहीं है कि उन्हें अन्य लैंग्स में सही तरीके से प्रस्तुत करना है, और न ही मैं इस उद्देश्य के लिए यूटीएफ वर्णों से अवगत हूं।
ग्रॉक्सक्स

12
"..." होने से एक्सेसिबिलिटी समस्या होती है। Android Talkback पढ़ता है "लोड हो रहा है ..." के रूप में "3 लोड हो रहा है अवधि"
मोहम्मद शाज़ा Moosa

14
ऐसा लगता है कि मेरी टिप्पणी स्पष्ट नहीं थी। "लोडिंग ..." (3 डॉट्स) का उपयोग करके "लोडिंग 3 पीरियड" को "लोडिंग & # 8230" कहने के लिए टॉकबैक की ओर जाता है; (ellipsis) टॉकबैक को "लोड हो रहा है" कहने के लिए नेतृत्व करता है [जो अच्छा है ..] तो, हमें हमेशा ellipsis का उपयोग करना चाहिए
मोहम्मद शबज़ मोज़ो

15

छोटी चीज़ बनाने के लिए बस &#x2026;जगह दें ...

XML कैरेक्टर एंटिटी लिस्ट से लिंक करें

  • नरक नाम की पंक्ति के लिए HTML के यूनिकोड कॉलम को देखें

5
मुझे शुरू में आश्चर्य हुआ कि &#x2026;जब आप ग्रहण चेतावनी का उपयोग करने के लिए कहते हैं तो आपने इसका उपयोग क्यों किया &#8230;लेकिन आपका लिंक इसका उत्तर देता है। अर्थात् x एक हेक्स मान को दर्शाता है और दशमलव में 8230 हेक्स में 2026 है।
k2col

इसके लिए कोई भी स्थान & # x2026 डालें
तुषार पांडेय

@ तुषारपांडे- अगर आपका कोड <string name = "search"> Searching ... </ string> है तो यह कुछ इस तरह दिखाई देगा <string name = "search"> Searching & # x2026 </ string>
Jadeyh

13

यदि आप ग्रहण का उपयोग कर रहे हैं तो आप हमेशा निम्न कार्य कर सकते हैं:

  • चेतावनी पर राइट क्लिक करें
  • "क्विक फिक्स" चुनें (शॉर्टकट डिफ़ॉल्ट रूप से Ctrl+ 1है)
  • "सुझाए गए वर्णों से प्रतिस्थापित करें" चुनें

यह आपके तीन डॉट्स को इलिप्सिस के लिए उचित यूनिकोड चरित्र के साथ बदलना चाहिए।

बस एक नोट: ADT का नवीनतम संस्करण (21.1) कभी-कभी प्रतिस्थापित ऑपरेशन को ठीक से नहीं करेगा, लेकिन पहले के संस्करणों को ऐसा करने में कोई समस्या नहीं थी।

यह चरित्र है:


यह मेरे लिए काम किया! हालाँकि चेतावनी के अलावा कुछ भी "दृश्य" नहीं हुआ, और मैं ADT 22.2.1 चला रहा हूं। लेकिन मुझे लगता है कि यह कैसे काम करता है :)
ymerdrengene

मेरे लिए काम नहीं किया। ग्रहण ने मुझे (मुझे नहीं पता क्यों) एक नए <तत्व> टैग के साथ <संसाधन> टैग को सर्फ़ करने के लिए।
लियोनार्डो राले

यदि आप सही क्षेत्र पर प्रकाश नहीं डालते हैं तो ग्रहण कुछ समय के लिए होगा। मैं खुद को हाइलाइट करता हुआ पाता हूं और वास्तव में सही सुझाव देने से पहले दो या तीन बार जल्दी ठीक करने की कोशिश करता हूं।
माइकल Celey

10

आपकी समस्या का हल है:

Go to Window -> Preferences -> Android -> Lint Error Checking

और " दीर्घवृत्त " की खोज करें । चेतावनी स्तर को " जानकारी " या " अनदेखा करें " में बदलें ।


8
उन सुझावों का कोई मतलब नहीं है। बस उन्हें अनदेखा करना केवल एक समाधान है, यदि आप वास्तव में निश्चित हैं, तो आप क्या कर रहे हैं। इस मामले में, प्रतिस्थापन समझ में आता है, इसलिए चेतावनी को अनदेखा करना अच्छा नहीं है।
अलेक्जेंडर पचा

धन्यवाद! मुझे इसकी ही खोज थी। और यह सभी प्रकार की संबंधित चीजों को करने के लिए जगह है (मुझे यह बताने के लिए कंप्यूटर की आवश्यकता नहीं है कि मुझे वर्तनी, कैपिटलाइज़ या पंक्चर कैसे करना है)। बहुत उपयोगी!
स्कॉट बिग्स

3
यह चेतावनियों को नजरअंदाज करने का अच्छा विकल्प नहीं है। आपको बेहतर परिणामों के लिए चेतावनी को ठीक करना चाहिए।
दीपक

1
@ScottBiggs निष्पक्ष होने के लिए, यदि कंप्यूटर आपको बता रहा है कि आपने वर्तनी, पूंजीकृत या गलत तरीके से कुछ लिखा है, तो आपको इसे ठीक करना चाहिए। उस संबंध में लिंट्स उपयोगी हैं, मैं उन्हें अक्षम करने के खिलाफ सलाह देता हूं।
एपिकपांडफर्सेज

3

यह उत्तर अप्रत्यक्ष रूप से इस प्रश्न से संबंधित है:

मेरे मामले textView1.setTextView("done&#8230");में कुछ बॉक्स / चीनी चरित्र दिखा रहा था। बाद में, मैंने इस बात की जाँच की fileformat.infoकि मूल्य क्या दर्शाता है और मैंने पाया कि यह हान चरित्र है। इसलिए क्या करना है? मैंने "fileformat.info ellipse character" की खोज की और उसके मूल्यों को देखने के बाद सब कुछ मेरे लिए स्पष्ट हो गया;

UTF-16 (hex) 0x2026 (2026)

UTF-16 (decimal) 8,230

तो, आपके पास एक चरित्र का प्रतिनिधित्व करने के लिए कई एन्कोडिंग उपलब्ध हैं (उदाहरण के लिए दशमलव में 10 को हेक्सा में ए के रूप में दर्शाया गया है) इसलिए यह जानना बहुत महत्वपूर्ण है कि जब आप एक यूनिकोड चरित्र लिख रहे हैं, तो फ़ंक्शन इसे कैसे प्राप्त करता है। यदि यह दशमलव मान के रूप में डिकोड करता है, तो आपको दशमलव मान प्रदान करना होगा, यदि यह हेक्साडेसिमल को स्वीकार करता है तो आपको हेक्साडेसिमल प्रदान करना होगा।

मेरे मामले में, setTextView () फ़ंक्शन दशमलव एन्कोडेड मान को स्वीकार करता है, लेकिन मैं हेक्साडेसिमल मान प्रदान कर रहा था इसलिए मुझे गलत चरित्र प्राप्त हो रहा था।



0

सबसे अच्छा नहीं इसे अनदेखा करने के लिए जैसा कि कुछ ने सुझाव दिया है, यह मुझे लगता है। इसे सही करने के लिए एंड्रॉइड स्टूडियो का उपयोग करें (वास्तव में चरित्र कोड में टाइप करने के बजाय), और उपकरण तीन डॉट्स को तीन-डॉट यूनिकोड चरित्र के साथ बदल देगा । अनुवादकों आदि को भ्रमित नहीं करेंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.