टेक्स्टव्यू में यूनिकोड द्वारा इमोजी कैसे सेट करें?


93

नमस्ते मैं निम्नलिखित करना चाहूंगा:

??? unicode = U+1F60A
String emoji = getEmojiByUnicode(unicode)
String text = "So happy "
textview.setText(text + emoji);

मेरे टेक्स्टव्यू में इसे पाने के लिए:

तो खुश 😊

मैं कैसे लागू कर सकता हूं getEmojiByUnicode(unicode)?

unicodeचर किस प्रकार का होना चाहिए ? (स्ट्रिंग, चार, इंट?)

कृपया ध्यान दें कि मैं Drawables का उपयोग नहीं करना चाहता हूँ!

जवाबों:


184

एक समाधान मिला:

अपने यूनिकोड में मैंने ' 0x ' द्वारा ' U + ' को प्रतिस्थापित किया

उदाहरण: की जगह ' U + 1F60A ' द्वारा ' 0x1F60A '

इस तरह मुझे एक 'इंट' मिला

int unicode = 0x1F60A;

जिसका उपयोग किया जा सकता है

public String getEmojiByUnicode(int unicode){
    return new String(Character.toChars(unicode));
}

तो Textview बिना ड्रॉबल के 😊 प्रदर्शित करता है

इसे http://apps.timwhitlock.info/emoji/tables/unicode के साथ आज़माएं


3
5.1 पर काम करता है, लेकिन 4.4.4 पर मुझे मिलता है? मेरी इमोजी स्ट्रिंग के लिए
filthy_wizard

21
क्या स्ट्रिंग्स.एक्सएमएल फ़ाइल में ऐसा करना संभव है?
स्पेकटाकुलैटिस

@ user1232726, यह उपयोगकर्ता के फोन पर निर्भर करेगा जिसमें इमोजी का उपयोग किया जा रहा है।
सुरगाछ

क्या आप इस "5794d5f7895fa10a8f8e1357" को EMOJI .. @GilbertGiesbert ..Thanks में बदलने में मदद कर सकते हैं ...
रवींद्र कुशवाहा

2
दुर्भाग्य से यह U + 1F1EF U + 1F1F2 की तरह 32 बिट यूनिकोड के साथ काम नहीं करता है। यह मान पूर्णांक सीमाओं के बाहर है।
क्रिस - जूनियर

39

आप इस तरह दशमलव कोड का उपयोग करके सीधे स्ट्रिंग संसाधनों में Emojis का उपयोग कर सकते हैं:

😊

उदाहरण के लिए:

<string name="emoji">I am happy &#128522;</>

10
यह एक अच्छा जवाब है; इमोजी के दशमलव कोड को खोजने के लिए, आप quackit.com/character_sets/emoji
Adinia

1
मुझे आवश्यक नहीं x
hmac

3
निर्माण के दौरान त्रुटि: चरित्र संदर्भ "और #
डॉ। एनडीआरओ

@hmac मैं जवाब वापस लुढ़का दिया है, हटाया का उल्लेख हैx
वादिम Kotov

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