You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv = (ListView) findViewById(R.id.lv);
final ArrayAdapter<String> mAdapter = new ArrayAdapter<>(this, R.layout.listview_row_layout);
lv.setAdapter(mAdapter);
final EmojiconEditText emojiconEditText = (EmojiconEditText) findViewById(R.id.emojicon_edit_text);
final View rootView = findViewById(R.id.root_view);
final ImageView emojiButton = (ImageView) findViewById(R.id.emoji_btn);
final ImageView submitButton = (ImageView) findViewById(R.id.submit_btn);
// Give the topmost view of your activity layout hierarchy. This will be used to measure soft keyboard height
final EmojiconsPopup popup = new EmojiconsPopup(rootView, this);
//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() {
@Override
public void onDismiss() {
changeEmojiKeyboardIcon(emojiButton, R.drawable.smiley);
}
});
//If the text keyboard closes, also dismiss the emoji popup
popup.setOnSoftKeyboardOpenCloseListener(new OnSoftKeyboardOpenCloseListener() {
@Override
public void onKeyboardOpen(int keyBoardHeight) {
}
@Override
public void onKeyboardClose() {
if (popup.isShowing())
popup.dismiss();
}
});
//On emoji clicked, add it to edittext
popup.setOnEmojiconClickedListener(new OnEmojiconClickedListener() {
@Override
public void onEmojiconClicked(Emojicon emojicon) {
emojiconEditText.append(emojicon.getEmoji());
}
});
//On backspace clicked, emulate the KEYCODE_DEL key event
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);
}
});
// To toggle between text keyboard and emoji keyboard keyboard(Popup)
emojiButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//If popup is not showing => emoji keyboard is not visible, we need to show it
if (!popup.isShowing()) {
//If keyboard is visible, simply show the emoji popup
if (popup.isKeyBoardOpen()) {
popup.showAtBottom();
changeEmojiKeyboardIcon(emojiButton, R.drawable.ic_action_keyboard);
}
//else, open the text keyboard first and immediately after that show the emoji popup
else {
emojiconEditText.setFocusableInTouchMode(true);
emojiconEditText.requestFocus();
popup.showAtBottomPending();
final InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(emojiconEditText, InputMethodManager.SHOW_IMPLICIT);
changeEmojiKeyboardIcon(emojiButton, R.drawable.ic_action_keyboard);
}
}
//If popup is showing, simply dismiss it to show the undelying text keyboard
else {
popup.dismiss();
}
}
});
//On submit, add the edittext text to listview and clear the edittext
submitButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String newText = emojiconEditText.getText().toString();
emojiconEditText.getText().clear();
mAdapter.add(newText);
mAdapter.notifyDataSetChanged();
}
});
}
private void changeEmojiKeyboardIcon(ImageView iconToBeChanged, int drawableResourceId) {
iconToBeChanged.setImageResource(drawableResourceId);
}
Your code seems alright but I would suggest you use this libraray instead https://github.com/rockerhieu/emojicon its based Ankush Sachdeva's code but its more up updated and a larger community behind it
Activity
Jaymo commentedon Oct 7, 2015
Solved it by replacing Emojiconpopup.java with the on below: https://github.com/takenet/emojicon/blob/master/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconsPopup.java
vinayjayaram commentedon Oct 7, 2015
@Jaymo Tried your code, But did not work, It is having same issue
Jaymo commentedon Oct 7, 2015
Kindly share the code you use to toggle the emoji and keyboard
vinayjayaram commentedon Oct 7, 2015
@Jaymo
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.PopupWindow.OnDismissListener;
import github.ankushsachdeva.emojicon.EmojiconEditText;
import github.ankushsachdeva.emojicon.EmojiconGridView.OnEmojiconClickedListener;
import github.ankushsachdeva.emojicon.EmojiconsPopup;
import github.ankushsachdeva.emojicon.EmojiconsPopup.OnEmojiconBackspaceClickedListener;
import github.ankushsachdeva.emojicon.EmojiconsPopup.OnSoftKeyboardOpenCloseListener;
import github.ankushsachdeva.emojicon.emoji.Emojicon;
public class MainActivity extends Activity {
}
Jaymo commentedon Oct 7, 2015
Your code seems alright but I would suggest you use this libraray instead https://github.com/rockerhieu/emojicon its based Ankush Sachdeva's code but its more up updated and a larger community behind it
vinayjayaram commentedon Oct 7, 2015
@Jaymo will try that. Thanks for your update really appreciate
remon commentedon Dec 3, 2015
@vinayjayaram , I am facing the same problem , did you fix it ?
vinayjayaram commentedon Dec 3, 2015
@remon No dude, was unable to solve it. However it is working in majority of phones except mine!
zeeshanworkplains commentedon Feb 17, 2016
@remon @vinayjayaram have you solved the problem? I'm facing the same issue :(
Max01010101010101 commentedon Jul 28, 2016
same here ;'(