PopupWindow中EditText被touc时弹出键盘异常解决办法
2011-12-26 21:12
134 查看
按钮点击事件..弹出popupwindow. .
edittext已获取焦点,但未弹出软键盘 点击时.手动控制弹出软键盘.
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.rightButton:
if(!"↓搜索".equals(getRigButton().getText())){
return;
}
if(mpop == null){
mpop = MyTools.getPopupWindow(this, R.layout.search_pop, R.style.PopupAnimation,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
mpop.getContentView().findViewById(R.id.search).setOnClickListener(this);
mpop.getContentView().findViewById(R.id.searchEdit).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP){
InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mpop.getContentView().findViewById(R.id.searchEdit), 0);
return true;
}
return true;
}
});
mpop.getContentView().findViewById(R.id.searchEdit).setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
mpop.getContentView().findViewById(R.id.search).setVisibility(View.VISIBLE);
}else{
mpop.getContentView().findViewById(R.id.search).setVisibility(View.GONE);
}
}
});
mpop.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
getRigButton().setText("↓搜索");
}
});
mpop.showAsDropDown(getRigButton());
}else{
mpop.showAsDropDown(getRigButton());
}
mpop.getContentView().findViewById(R.id.search).setVisibility(View.VISIBLE);
getRigButton().setText("↑搜索");
break;
}
edittext已获取焦点,但未弹出软键盘 点击时.手动控制弹出软键盘.
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.rightButton:
if(!"↓搜索".equals(getRigButton().getText())){
return;
}
if(mpop == null){
mpop = MyTools.getPopupWindow(this, R.layout.search_pop, R.style.PopupAnimation,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
mpop.getContentView().findViewById(R.id.search).setOnClickListener(this);
mpop.getContentView().findViewById(R.id.searchEdit).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP){
InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mpop.getContentView().findViewById(R.id.searchEdit), 0);
return true;
}
return true;
}
});
mpop.getContentView().findViewById(R.id.searchEdit).setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
mpop.getContentView().findViewById(R.id.search).setVisibility(View.VISIBLE);
}else{
mpop.getContentView().findViewById(R.id.search).setVisibility(View.GONE);
}
}
});
mpop.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
getRigButton().setText("↓搜索");
}
});
mpop.showAsDropDown(getRigButton());
}else{
mpop.showAsDropDown(getRigButton());
}
mpop.getContentView().findViewById(R.id.search).setVisibility(View.VISIBLE);
getRigButton().setText("↑搜索");
break;
}
相关文章推荐
- PopupWindow中EditText被touc时弹出键盘异常解决办法
- 解决办法:ios模拟器键盘不弹出
- 软键盘弹出,listview上移并滚动到最后一条的解决办法
- ionic3开发系列——Android 端软键盘弹出后界面被压缩的解决办法
- 手机浏览器浏览WebApp弹出的键盘遮盖住文本框的解决办法
- Android-----解决EditText控件的自动弹出键盘的办法
- Android 软键盘弹出时,把整个界面往上挤 的解决办法
- 微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法(转)
- iOS 键盘收起异常的解决办法
- DataTable表添加新行时,弹出--ID列不能为""-- 异常的解决办法
- Android软键盘弹出时挤压屏幕高度解决办法
- 创建手机页面弹出键盘的时候背景图片被挤上去的解决办法
- vs2015刚打开时弹出遇到异常的解决办法
- 安卓EditText有时点击后无法自动弹出键盘的解决办法;TextWatcher多次调用问题
- [Cordova/Phonegap] Cordova iOS 应用在第三方输入法的键盘弹出(点击输入框)时,页面不上移,导致输入框被键盘遮挡 的解决办法
- Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法
- Alterdialog中不弹出软键盘原因分析及解决办法
- -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.【创建键盘监听事件,然后操作键盘(弹出、收回),结果在运行程序时出现如下错误(如有知道解决办法的朋友请留言探讨!)】
- [Phonegap+Sencha Touch] 移动开发68 Sencha Touch弹出键盘挡住输入框的解决办法
- 键盘不弹出的奇葩解决办法