aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnkush Sachdeva <sankush@yahoo.co.in>2015-05-09 01:07:49 +0530
committerAnkush Sachdeva <sankush@yahoo.co.in>2015-05-09 01:07:49 +0530
commit7284b7d42370b33c64b3809dd5e2e2833f445af8 (patch)
tree58ba929f3295f873776a858f700bf464eab7fadc
parent58545344199e6b291595bbd8fc3ab9169b4fcd62 (diff)
Add emojicon in between text when required; fixes#19
-rw-r--r--example/src/com/example/emojiconsample/MainActivity.java32
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());
+ }
}
});