This is :) and want to :) replace with :D new image.
मेरे पास इस प्रकार की स्ट्रिंग है जो मुझे EditTextbox.Nw से मिली है, मैं छवि 1 और ": D" के साथ सभी ":)" को प्रतिस्थापित करना चाहता हूं image2.I string.replaceall (":)", image1) और string.replaceall (": D", image2) की तरह करना चाहते हैं। तो क्या कोई मुझे सुझाव दे सकता है कि इसे छोटे कोड के साथ कैसे करें और बेहतर प्रदर्शन भी करें। मेरे पास है कोड लिखें और यह भी ठीक काम कर रहा है लेकिन इसमें अधिक समय लगता है।छवियों को स्ट्रिंग में छवि के साथ बदलें और फिर टेक्स्टव्यू
textview.setText(getSmiledText(ctx, stringvalue));
private static final HashMap<String, Integer> emoticons = new HashMap<String, Integer>();
static {
emoticons.put(":)", R.drawable.j1);
emoticons.put(":D", R.drawable.j2);}
public static Spannable getSmiledText(Context context, String s) {
int index;
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append(s);
for (index = 0; index < builder.length(); index++) {
for (Entry<String, Integer> entry : emoticons.entrySet()) {
int length = entry.getKey().length();
if (index + length > builder.length())
continue;
if (builder.subSequence(index, index + length).toString()
.equals(entry.getKey())) {
builder.setSpan(new ImageSpan(context, entry.getValue()),
index, index + length,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
index += length - 1;
break;
}
}
}
return builder;
}
'यह काम कर रहा है भी तो fine' क्या सवाल फिर से था? – njzk2
मुझे बेहतर समाधान की आवश्यकता है जो प्रदर्शन को बढ़ाएगा। यह काम कर रहा है लेकिन अधिक समय लेता है bcz यह चरित्र द्वारा चरित्र की जांच करेगा। इसलिए मुझे बेहतर समाधान की आवश्यकता है – Nency
ऐसा लगता है कि 'सेटस्पैन' सबसे धीमा हिस्सा है ... मेरे पास समान है पाठ के पृष्ठभूमि रंग को बदलने के साथ समस्या। – bancer