============问题描述============
如图,我现在的任务是移植android4.0的自动完成文本框到低版本的系统中。
我给图中的EditText绑定了一个TextWatcher监听器,只要EditText中的内容发生了变化,就打开下拉列表进行匹配。所以只要我输入一个字母,就开始匹配,然后弹出下拉列表。
这时候问题来了,如果我设置popupwindow得到焦点,这时候的下拉列表是可以点击的,但是不能再输入了;但是如果设置popupwindow没有焦点,是可以正常输入的,但是popupwindow上的下拉列表就不能点击了!!两天了,看源码也没看出个所以然了
所以跪求大神解答,强烈表示愿意为大神捡肥皂!!
============解决方案1============
//设置可以获取焦点,否则弹出菜单中的EditText是无法获取输入的
popWindow.setFocusable(true);
//这句是为了防止弹出菜单获取焦点之后,点击activity的其他组件没有响应
popWindow.setBackgroundDrawable(new BitmapDrawable());
============解决方案2============
为什么要用popupwindow
============解决方案3============
设置popupwindow得到焦点,这时候的下拉列表是可以点击的。
你可以截获popupwindow的消息,获取输入的内容把数据反映到EDIT控件上,毕竟是两个控制,没有两个焦点的说法,不过可以模拟效果来实现。