verwirrt Ich baue eine einfache Chat-App, wo der Benutzer die Möglichkeit hat, Text und Emoticons zu senden. Ich kann sowohl Text als auch Emoticons an ein anderes Telefon senden. Meine Probleme sind:Text ist mit ImageSpan in EditText
1. Wenn ich etwas geben, und fügen Sie ein Emoticon:
Dann kann ich geben keinen Text direkt vor und direkt nach dem Bild. Ich kann vor dem "o" schreiben. Das System „sieht“, dass ich schreibe, also auch wenn ich „Honey“ nach dem Smiley-Typ, ich kann es nicht sehen, aber die EditText registriert sie und die Nachricht wird gesendet:
2.When Ich füge nur ein Emoticon zum Edittext hinzu, dann lösche ich es, ich kann nichts tippen, weil das gelöschte Emoticon erscheint. Es erscheint nur einmal, egal wie viele Zeichen ich eintippe, der EditText sieht aus wie kurz bevor ich das Emoticon gelöscht habe, ABER der Text wird ohne das Emoticon gesendet, wie in allen drei Fällen.
3.When ich "etwas" in der EditText geben Sie dann ein Emoticon nach "einigen" einfügen:
Dann legte ich den Cursor nach dem Emoticon und löschen Sie es, hier was übrig bleibt :
Aber die richtige Nachricht gesendet wird, wenn ich auf die Schaltfläche Senden drücken:
Das ist, was in der Schaltfläche Hörer des Emoticon ist (diese Methode wird aktiviert, wenn ich das Emoticon klicken sie auf die EditText hinzufügen).
ib_happy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int cursorPosition = mOutEditText.getSelectionStart();
mOutEditText.getText().insert(cursorPosition, smileys[0]);
SpannableStringBuilder ssb = new SpannableStringBuilder(mOutEditText.getText());
ssb.setSpan(new ImageSpan(bitmapArray.get(0), ImageSpan.ALIGN_BASELINE), cursorPosition, cursorPosition+2, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
mOutEditText.setText(ssb, BufferType.SPANNABLE);
mOutEditText.setSelection(cursorPosition+2);
dialog_emoticon.dismiss();
}
});
zu ändern, wo Sie es beheben können? – noxius
Ja ich war wie du in der angenommenen Antwort siehst – erdomester