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


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.