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