码迷,mamicode.com
首页 > 移动开发 > 详细

Android中在输入法之前截获返回键

时间:2015-01-30 16:06:57      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

本人的使用场景:在输入法显示时候按返回键,如果存在PopupWindow则先隐藏PopupWidow。

达到这一目的分以下几个步骤:

一、自定义EditText:

public class InputMethodEditText extends EditText{
private PopuJar mPopup;//自定义的PopupWindow控件
public PopuJar getmPopup() {
return mPopup;
}
public void setmPopup(PopuJar mPopup) {
this.mPopup = mPopup;
}
public InputMethodEditText(Context context) {
super(context);
}
public InputMethodEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public InputMethodEditText(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}


@Override
public boolean dispatchKeyEventPreIme(KeyEvent event) {

if(event.getKeyCode() == KeyEvent.KEYCODE_BACK && mPopup != null && mPopup.isShow()){

//这里先于输入法之前截获返回键,并隐藏我的PopupWindow控件
mPopup.dismiss();
return true;
}
return super.dispatchKeyEventPreIme(event);
}

}

二、主控代码:messageInput = (InputMethodEditText) findViewById(R.id.chat_content);
messageInput.setmPopup(mPopu);

//下面代码将输入法与当前的自定义EditText绑定,
mImm = (InputMethodManager)  
                messageInput.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

经过以上两步操作就可以实现在输入法之前截获Android back键,小记备用。

Android中在输入法之前截获返回键

标签:

原文地址:http://blog.csdn.net/u013633997/article/details/43305065

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!