EditText mit SpannableStringBuilder und ImageSpan funktioniert nicht gut

8

Ich versuche Emoticons in einen EditText einzufügen. Ich habe es geschafft, und es funktioniert gut, aber ich habe ein Problem, wenn ich versuche, diese Emoticons aus dem EditText mit der Soft-Tastatur zu löschen. Ich kann diese Aktion nicht mit einem einzigen Klick auf die Schaltfläche "Löschen" ausführen. Wenn ich einen neuen ImageSpan einfüge, ersetze ich eine imageId dafür, aber wenn ich versuche, de Icon zu löschen, muss ich alle imageId Zeichen löschen, bevor ich das Bild lösche.

%Vor%

Ich muss die Emoticons mit einem einzigen Klick löschen. Kannst du mir bitte helfen?

Danke!

    
Alex 23.10.2013, 06:33
quelle

1 Antwort

28

Dies ist die Implementierung, um Emoticons in einem EditText zu behandeln. Diese Implementierung verwendet TextWatcher , um die Änderungen von EditText zu überwachen und festzustellen, ob ein Emoticon entfernt wurde, wenn ein Text gelöscht wurde.

Beachten Sie, dass diese Implementierung auch überprüft, ob eine Textauswahl gelöscht wurde (nicht nur der Löschschlüssel).

Um Probleme mit der Textvorhersage beim Eingeben eines Textes zu vermeiden, wird empfohlen, den Emoticon-Text mit Leerzeichen zu umgeben (die Textvorhersage kann den Emoticon-Text mit dem angrenzenden Text verbinden).

%Vor%     
Bismark Ito 29.10.2013, 03:54
quelle