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中提供了多种对话框,在实际应用中我们可能会需要修改这些已有的对话框.本实例就是从实际出发, ...
随机推荐
- HTML+CSS基础课程二
1.border为系统加边框<style type="text/css"> table tr td,th{border:1px solid #000;} </st ...
- IE (第一部分) 浏览器 中 关于浏览器模式和文本模式的困惑
什么是浏览器模式和文本模式? 经常使用IE开发者工具的同学,肯定见过浏览器模式和文本模式,对于这两个名词,综合相关文档解释如下: 浏览器模式(Browser Mode),用于切换IE针对该网页的默认文 ...
- shiro 认证思路
- selenium 浏览器常用设置和部署
一,chrome浏览器设置 from selenium import webdriver # 浏览器选项 chrome_options = webdriver.ChromeOptions() # 使用 ...
- trie数的实现
Trie树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串 ...
- 实例的render方法渲染组件
1.普通渲染组件 在app容器中插入login组件 <login></login> 一个app可以多个这种组件 <script> var login = { te ...
- js对数组对象的操作以及方法的使用
js对数组对象的操作以及方法的使用 如何声明创建一个数组对象: var arr = new Array(); 或者 var arr = []; 如何移除所有数组中数据? arrayJson.dataL ...
- Dubbo后台管理和监控中心部署
通过dubbo监控中心和后台管理可以很好的监控dubbo服务,监控服务端服务和客户端调用情况,调用次数,调用日志,方便问题查找.下面我们看看dubbo的管理后台和监控中心怎么部署. 1.软件下载 部署 ...
- PO ITEM_BOM_工艺路线SQL
---物料主数据接口 SELECT count(*)PO_MARA FROM STG.PO_MARA; SELECT count(*)PO_MARC FROM STG.PO_MARC; SELECT ...
- 【翻译】View Frustum Culling --3 Clip Space Approach – Extracting the Planes
3.使用裁剪空间的方法提取平面 上一篇中,我们讨论了通过几何的方法提取视锥体的六个片面.在这一篇中,我们继续讨论通过裁剪空间的方法来提取视锥体的平面. 假设现在在世界坐标系中有一点p=(x,yz,1) ...
上面两个坑是我在开发过程中遇到的问题,耗费了整整一天的时间才得到了解决。这里做出总结希望能对您有所帮助。