diff options
author | Ankush Sachdeva <sankush@yahoo.co.in> | 2015-05-09 01:07:49 +0530 |
---|---|---|
committer | Ankush Sachdeva <sankush@yahoo.co.in> | 2015-05-09 01:07:49 +0530 |
commit | 7284b7d42370b33c64b3809dd5e2e2833f445af8 (patch) | |
tree | 58ba929f3295f873776a858f700bf464eab7fadc /example/src/com | |
parent | 58545344199e6b291595bbd8fc3ab9169b4fcd62 (diff) |
Add emojicon in between text when required; fixes#19
Diffstat (limited to 'example/src/com')
-rw-r--r-- | example/src/com/example/emojiconsample/MainActivity.java | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/example/src/com/example/emojiconsample/MainActivity.java b/example/src/com/example/emojiconsample/MainActivity.java index 247eb30..4d4fb92 100644 --- a/example/src/com/example/emojiconsample/MainActivity.java +++ b/example/src/com/example/emojiconsample/MainActivity.java @@ -39,26 +39,6 @@ public class MainActivity extends Activity { //Will automatically set size according to the soft keyboard size popup.setSizeForSoftKeyboard(); - //Set on emojicon click listener - popup.setOnEmojiconClickedListener(new OnEmojiconClickedListener() { - - @Override - public void onEmojiconClicked(Emojicon emojicon) { - emojiconEditText.append(emojicon.getEmoji()); - } - }); - - //Set on backspace click listener - popup.setOnEmojiconBackspaceClickedListener(new OnEmojiconBackspaceClickedListener() { - - @Override - public void onEmojiconBackspaceClicked(View v) { - KeyEvent event = new KeyEvent( - 0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL); - emojiconEditText.dispatchKeyEvent(event); - } - }); - //If the emoji popup is dismissed, change emojiButton to smiley icon popup.setOnDismissListener(new OnDismissListener() { @@ -88,7 +68,19 @@ public class MainActivity extends Activity { @Override public void onEmojiconClicked(Emojicon emojicon) { + if (emojiconEditText == null || emojicon == null) { + return; + } + + int start = emojiconEditText.getSelectionStart(); + int end = emojiconEditText.getSelectionEnd(); + if (start < 0) { emojiconEditText.append(emojicon.getEmoji()); + } else { + emojiconEditText.getText().replace(Math.min(start, end), + Math.max(start, end), emojicon.getEmoji(), 0, + emojicon.getEmoji().length()); + } } }); |