2014-04-02 17 views
6

Muszę sprawdzić, czy tekst edycji zawiera w sobie jakieś emotikony. Próbowałem zrobić obserwatora tekstu, w którym sprawdziłem, czy obraz jest obecny, ale nie mogę uzyskać żadnych wyników.Jak sprawdzić, czy EditText w Androidzie ma emotikon, czy nie?

SpannableStringBuilder s = new SpannableStringBuilder(source.toString()); 
ImageSpan a[]= s.getSpans(0,s.length(), ImageSpan.class); 

if(a.length!=0){ 
    Toast.makeText(NewEpisodeActivity.this, R.string.invalid_char, Toast.LENGTH_SHORT).show(); 
    return ""; 
} 

Odpowiedz

0

Powinieneś wziąć hasmap z kodem emotikonów jako kluczem i obrazem emotikonu jako wartością. Teraz sprawdź dla tekstu czy jest to kod emotikony jeśli tak to

s.setSpan(new ImageSpan(Context, Emoticons_Image, startPos, endPos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
0

Czy przyjazd nie w onTextChanged()

private TextWatcher textChangedListener = new TextWatcher() { 

    @Override 
    public void afterTextChanged(Editable editable) { 
     final ImageSpan[] itemSpans = editable.getSpans(0, editable.length(), ImageSpan.class); 
     final boolean hasEmoticons = itemSpans != null && itemSpans.length > 0; 
    } 

    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
    } 

    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
    } 

}; 
Powiązane problemy