사용자가 텍스트와 이모티콘을 보낼 수있는 간단한 채팅 앱을 만들고 있습니다. 텍스트와 이모티콘을 다른 휴대 전화로 보낼 수 있습니다. 내 문제는 다음과 같습니다EditText에서 ImageSpan으로 텍스트가 엉망입니다.
1.When 내가 뭔가를 입력하고 이모티콘을 추가
은 그 때 나는 이미지 후 직전 오른쪽 텍스트를 입력 할 수 없습니다. "o"편지 앞에 쓸 수 있습니다. 이 시스템은, 내가 그것을 볼 수 없습니다 내가 웃는 후 "허니"를 입력 그래서 경우에도 입력 한 것을 "본다"하지만 글고 그것을 등록하고 메시지가 전송됩니다
할수 있도록 팝업 Edittext에 이모티콘을 추가 한 다음을 삭제하면 삭제 된 이모티콘이 나타나기 때문에 아무 것도 입력 할 수 없습니다. 한 번만 나타나므로 입력 한 문자 수에 관계없이 EditText는 이모티콘을 삭제하기 직전처럼 보이지만 세 가지 경우와 마찬가지로 이모티콘없이 텍스트가 전송됩니다.
3.When 내가 다음 "일부"이후에 이모티콘을 삽입 글고에서 "뭔가"를 입력 :
그럼 난 이모티콘 후 커서를 놓고 삭제, 여기에 무슨 일이 남아 :
하지만 보내기 버튼을 누를 때 올바른 메시지가 전송됩니다 :
(필자는 글고 치기에 추가 이모티콘을 클릭 할 때이 방법은 활성화) 이모티콘의 버튼 리스너 내부의 무엇.
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();
}
});
으로 수정하는 것입니다. – noxius
네, 받아 들여진 대답에서 보았던 것처럼 – erdomester