EditText和PopupWindow的事件冲突
来源:互联网 发布:java打印输出语句 编辑:程序博客网 时间:2024/05/18 01:44
因为在工程中想要实现账号联想的功能(即:如果有登陆记录的账号,可以在退出登录以后再次输入时直接进行联想而不需要客户手动输入账号的全部内容)。
在最初的想法是,点击edittext然后在其下方弹出一个popupwindow,数据来源是在登陆成功后SharedPrefrence所存储的String转换成的数组。
效果是先后发现出现了事件冲突。
冲突如下:
在点击edittext弹出popupwindow后,edittext无法接续编辑
解决方法有以下几种:
①使用android4.0特性中AutoCompleteTextView
自动完成文本框
final AutoCompleteTextView mobile = (AutoCompleteTextView) findViewById(R.id.mobile_text);
final EditText password = (EditText) findViewById(R.id.password_text);
String account_caches = SpUtils.getInstance(LoginActivity.this).getString("account_caches", "");
if (account_caches != null && !account_caches.equals("")) {
String[] account = account_caches.split(",");
final EditText password = (EditText) findViewById(R.id.password_text);
String account_caches = SpUtils.getInstance(LoginActivity.this).getString("account_caches", "");
if (account_caches != null && !account_caches.equals("")) {
String[] account = account_caches.split(",");
mobile.setAdapter(new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item, account));
这有一篇比较详细的参考文章,如果我上面写的不够明白的话可以去看看这篇介绍。
http://blog.csdn.net/ls1110924/article/details/22905367
②
一是万万不可给popupwindow设置得到焦点,即setFocusable(true),不然他会抢占EditText的焦点,使得EditText得不到输入,
二是不能给popupwindow中的listView绑定OnItemClickListener监听器,此时点击是有选中的效果,即背景色发生了切换,但是监听器的方法没有触发。
③也可以在布局中放一个listview,来控制他的显示(想法)
http://blog.csdn.net/ls1110924/article/details/22905367
2 0
- EditText和PopupWindow的事件冲突
- 带旋转箭头的popupWindow的外部点击事件和控件点击事件冲突解决
- EditText的滑动事件冲突问题
- editText 滚动事件和长按事件冲突
- EditText监听输入完成和设置点击事件时与父控件的冲突问题
- ScrollView和EditText的滚动冲突问题
- EditText和ScrollView冲突的解决
- EditText与onItemClick事件冲突
- 从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决办法
- 从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决办法
- 解决EditText文字滚动与触摸事件的冲突
- PopupWindow中使用EditText软键盘的弹出和隐藏
- PopupWindow中使用EditText软键盘的弹出和隐藏
- 父类事件与EditText事件冲突
- PopupWindow、EditText
- EditText和ScrollView滚动冲突
- 圆角PopupWindow对话框和圆角EditText
- <Android>关于EditText中setInputType和setSingleLine的冲突
- 多线程同步之互斥对象
- 探探自动右划,自动点击,自动加星
- 【程序18】 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人, 乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比 赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出
- 奇葩: tableView高度影响y轴位置
- maven 仓库修改
- EditText和PopupWindow的事件冲突
- ASP.NET中 RequiredFieldValidator(非空验证)的使用
- C#检测本机是否联网
- 16. 3Sum Closest
- map下标操作和insert区别
- WPF知识点
- java到mysql乱码
- shell算术运算
- LoadRunner压力测试:测试报告结果分析