EditText和PopupWindow的事件冲突

因为在工程中想要实现账号联想的功能(即:如果有登陆记录的账号,可以在退出登录以后再次输入时直接进行联想而不需要客户手动输入账号的全部内容)。
在最初的想法是,点击edittext然后在其下方弹出一个popupwindow,数据来源是在登陆成功后SharedPrefrence所存储的String转换成的数组。
效果是先后发现出现了事件冲突。
冲突如下:
在点击edittext弹出popupwindow后,edittext无法接续编辑
解决方法有以下几种:
①使用android4.0特性中AutoCompleteTextView
     自动完成文本框
     
final AutoCompleteTextView mobile = (AutoCompleteTextViewfindViewById(R.id.mobile_text);
final EditText password = (EditTextfindViewById(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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值