PopupWindow与Edittext结合使用所遇到的坑
PopupWindow与Edittext结合使用一起实现目的:既可以编辑输入想要的内容,还可以通过下拉列表来实现内容的选择。
我就是这样的一个目的,结果很简单的目的却遇到了很大的坑,下面我将把我遇到的问题及相应的解决办法分享给大家。
遇到的坑:
1、PopupWindow与Edittext一起使用,PopupWindow抢焦点导致Edittext无法编辑;
2、PopupWindow的下拉列表显示出来了,并遮挡了软键盘。造成无法使用软键盘(注意,你没有看错:是下拉列表遮住了软键盘而无法使用键盘输入内容,而不是软键盘挡住下拉列表);
解决办法:
1、对于第一个问题的解决办法网上较多,我在这里无法对Edittext进行编辑是因为我在PopupWindow中设置了获取焦点。
即 setFocusable(true);如果在PopupWindow或者PopupWindow的子类(继承PopupWindow的自定义的控件或方法)设置setFocusable(true),那么将会导致Edittext无法编辑。
2、网上一大堆的都是软键盘挡住PopupWindow的下拉列表数据,而很少有PopupWindow的下拉列表挡住软键盘的解决方案。在这里经过多次尝试找到了一个解决方法:
private SpinerPopWindow mSpinerPopWindow;(SpinerPopWindow 继承了PopupWindow,所以可以看作是PopupWindow的使用)
/**中间省略好多代码**/
mSpinerPopWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
mSpinerPopWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
上面代码汇总的红色部分是解决PopupWindow下拉列表挡住软件盘的解决方案,当然这两句代码放在引用PopupWindoww的位置.上面两个坑是我在开发过程中遇到的问题,耗费了整整一天的时间才得到了解决。这里做出总结希望能对您有所帮助。
PopupWindow与Edittext结合使用所遇到的坑的更多相关文章
- popupwindow中EditText获取焦点后自动弹出软键盘
关于popupwindow中EditText获取焦点后自动弹出软键盘的问题,玩过手机qq或空间的童鞋应该知道,再点击评论时会弹出一个编辑框,并且伴随软键盘一起弹出是不是很方便啊,下面我们就来讲一下实现 ...
- Android PopupWindow中EditText获取焦点自动弹出软键盘
公司的项目中要求在点击搜索的时候弹出一个搜索框,搜索框中有一个EditText,用于数据搜索关键字,要求在弹出PopupWindow的时候自动弹出软键盘,原以为只要写上着两行代码可以搞的问题: Inp ...
- Android 使用 popupWindow实现弹层并操作弹层元素
需求: 点页面,出现弹层,弹层包含EditText,Button等,点击Button实现提交操作: 最终代码: private PopupWindow popupWindow ; private Ed ...
- PopupWindow简单使用
如图是效果图 当点击 “点我”的按钮是 会弹出 如图的 弹窗 补充为PopupWindow设置一个显示动画和消失的动画 先在anim的文件下分别设置显示和消失的动画 <?xml versio ...
- 【Java】Android EditText开发的一个容易忽略的坑
这几天接手做一个远程控制Android application,安卓前台的EditText用来输入ip地址.端口等信息,发现EditText的使用存在着巨坑一个! 我在网上找了半天,发现仅仅有人提出这 ...
- ListView中含有EditText时候--要命的焦点问题迎刃而解
最近做项目的时候遇到了一个问题,就是在ListView的item上面含有一个EditText,要求是这样: 1当点击item的时候,item可以点击; 2当点击EditText的时候EditText也 ...
- 下拉选择框加listview删除
package com.downselect; import java.util.ArrayList; import android.R.array; import android.app.Activ ...
- Android--解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题
1.原来是将EditView放到了popupwindow,发现EditView原有的复制.粘贴.全选.选择功能失效了,所以便用DialogFragment代替了popupWindow 直接上代码 ①. ...
- Dialog详解(包括进度条、PopupWindow、自定义view、自定义样式的对话框)
Dialog详解(包括进度条.PopupWindow.自定义view.自定义样式的对话框) Android中提供了多种对话框,在实际应用中我们可能会需要修改这些已有的对话框.本实例就是从实际出发, ...
随机推荐
- 关于那个.get .post .ajax ztree 还有后台servlet传递数据
servlet给前台传递data串 用的方法是 PrintWriter out = response.getWriter(); // response.sendRedirect("test. ...
- 做好Unity4.x开发项目规划
1. 是否要用lua 2. (对于需操作的游戏)客户端游戏如何做战斗验证 下面列举小坑吧.不建议都绕开,毕竟没有那么多时间做前期调研的. 对应版本Unity4.x 1. 客户端程序层面 总的来说C#超 ...
- MySQL内连接,左(外)连接,右(外)连接
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- 模块移除 命令rmmod 的实现
// rmmod.c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include < ...
- css flex 兼容ios android--商品展示 添加购物车
https://blog.csdn.net/u010035608/article/details/52711248 <!DOCTYPE html> <html> <hea ...
- 04_web基础(七)之jsp
39.jsp与el表达式引入 JSP:Java Server Pages:Java的服务网页(Java动态网页):=========================================== ...
- pring Boot 与Spring Cloud版本对应
Spring Boot Spring Cloud 1.2.x Angel版本 1.3.x Brixton版本 1.4.x Camden版本 1.5.x Dalston版本.Edgware版本 2.0. ...
- 进制转换&数据类型(1)
一: 进制转换 在计算机中, 数据都是以0和1来表示的 进制: 进位制 十进制: 数字由0~9这10个数字来表示, 逢10进1位 0 1 2 3 4 5 6 7 8 9 10 二进制: 数字由0和1这 ...
- spring学习第一课:spring的jar包下载
感谢作者: http://yanln.iteye.com/blog/2191312 ---------------------------------------------------------- ...
- Java Arrays
最近经常有操作数组的需求,排序,倒转等操作,所以深入了解一下Arrays类 equals(a,b)比较数组a和数组b是否相等 toString(a)输出数组a binarySearch(a,i)二分查 ...