popupwindow和外部输入EditText控件焦点问题!!求大神帮帮小弟吧,老板催的紧啊!!!55555...

============问题描述============



如图,我现在的任务是移植android4.0的自动完成文本框到低版本的系统中。
我给图中的EditText绑定了一个TextWatcher监听器,只要EditText中的内容发生了变化,就打开下拉列表进行匹配。所以只要我输入一个字母,就开始匹配,然后弹出下拉列表。
这时候问题来了,如果我设置popupwindow得到焦点,这时候的下拉列表是可以点击的,但是不能再输入了;但是如果设置popupwindow没有焦点,是可以正常输入的,但是popupwindow上的下拉列表就不能点击了!!两天了,看源码也没看出个所以然了
所以跪求大神解答,强烈表示愿意为大神捡肥皂!!

============解决方案1============


    //设置可以获取焦点,否则弹出菜单中的EditText是无法获取输入的
    popWindow.setFocusable(true);
    //这句是为了防止弹出菜单获取焦点之后,点击activity的其他组件没有响应
    popWindow.setBackgroundDrawable(new BitmapDrawable()); 

============解决方案2============


为什么要用popupwindow

============解决方案3============


引用 楼主 ls1110924 的回复:

如图,我现在的任务是移植android4.0的自动完成文本框到低版本的系统中。
我给图中的EditText绑定了一个TextWatcher监听器,只要EditText中的内容发生了变化,就打开下拉列表进行匹配。所以只要我输入一个字母,就开始匹配,然后弹出下拉列表。
这时候问题来了,如果我设置popupwindow得到焦点,这时候的下拉列表是可以点击的,但是不能再输入了;但是如果设置popupwindow没有焦点,是可以正常输入的,但是popupwindow上的下拉列表就不能点击了!!两天了,看源码也没看出个所以然了
所以跪求大神解答,强烈表示愿意为大神捡肥皂!!

设置popupwindow得到焦点,这时候的下拉列表是可以点击的。
你可以截获popupwindow的消息,获取输入的内容把数据反映到EDIT控件上,毕竟是两个控制,没有两个焦点的说法,不过可以模拟效果来实现。

转载于:https://www.cnblogs.com/lianxu61/p/4046197.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值