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

仁见阴刀 2014-01-09 05:46:36

如图,我现在的任务是移植android4.0的自动完成文本框到低版本的系统中。
我给图中的EditText绑定了一个TextWatcher监听器,只要EditText中的内容发生了变化,就打开下拉列表进行匹配。所以只要我输入一个字母,就开始匹配,然后弹出下拉列表。
这时候问题来了,如果我设置popupwindow得到焦点,这时候的下拉列表是可以点击的,但是不能再输入了;但是如果设置popupwindow没有焦点,是可以正常输入的,但是popupwindow上的下拉列表就不能点击了!!两天了,看源码也没看出个所以然了
所以跪求大神解答,强烈表示愿意为大神捡肥皂!!
...全文
3393 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
羽沐川 2016-06-08
  • 打赏
  • 举报
回复
这问题已经围绕我两天了
eueng333 2016-05-02
  • 打赏
  • 举报
回复
我今天也是碰到了这种问题
sinat_31793189 2016-04-01
  • 打赏
  • 举报
回复
群主,发我一份啊,1349711790@qq.com
仁见阴刀 2015-06-12
  • 打赏
  • 举报
回复
http://blog.csdn.net/ls1110924/article/details/22905367 问题已解决,不要给ListView绑定OnItemClickListener,要挨个给Item绑定OnClickListener
Ryan_1989 2015-04-29
  • 打赏
  • 举报
回复
pop.setFocusable(false) 或setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED)在show之前
u013279696 2015-01-31
  • 打赏
  • 举报
回复
楼主问题解决了么 ,求指教啊...
fanwei4751 2015-01-05
  • 打赏
  • 举报
回复
autocompletetextview只能自动匹配前面相同的字,不能匹配中间或者后面相同的字,比如检索a,不能搜索出来cac,只能是a,abc...
那一个小丑 2014-12-12
  • 打赏
  • 举报
回复
楼主问题解决了么,我现在也遇到这个了,纠结了一天了。请楼主指点下
arror 2014-10-20
  • 打赏
  • 举报
回复
楼主,这个问题解决了吗?可以把例子发到我的邮箱吗?752790234@qq.com
ningshunyao 2014-08-23
  • 打赏
  • 举报
回复
这个功能我实现过,目前已经做好啦
ningshunyao 2014-08-23
  • 打赏
  • 举报
回复
下面直接用个Listview不可以吗,为啥需要pop啦
离氺的鱼 2014-08-20
  • 打赏
  • 举报
回复
楼主解决了吗 我也碰到了同样的问题 求帮忙啊
杨帆启航 2014-07-25
  • 打赏
  • 举报
回复
问题就绝了吗
中静~ 2014-04-28
  • 打赏
  • 举报
回复
希望能帮到你
中静~ 2014-04-28
  • 打赏
  • 举报
回复
大神来了!!!!! 今天下午碰到与你一样的问题,查看了下PopupWindow的源码结果还是没有解决;后来查看了http://blog.csdn.net/illidantao/article/details/9472409这个博客重写的EditText来搞定;确实是解决了,但是没有用到popupwindow;但是我还是坚持想用原来这个方案 灵感突然爆发用了个最简单的方式解决了如下: popupwindow里面初始化listView,listView 设置setAdapter private class MyAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return listBean == null ? 0 : listBean.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub View v = LayoutInflater.from(AddPatientX.this).inflate( R.layout.auto_text_item, null); TextView tv1 = (TextView) v.findViewById(R.id.tv1); tv1.setText(listBean.get(position).getFname()); v.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub System.out.println("xxxxxxxxxxxxxxxx"); } }); return v; } } 在adpter的getView里面可以监听到listView的每个itemView的点击事件,说明了listView的每个item是能被点击的,但是这个点击事件没有再传给listView从而去调用OnItemClickListener这个监听器;具体原因还要超级牛神来解决了
仁见阴刀 2014-01-10
  • 打赏
  • 举报
回复
引用 8 楼 pengguohua1988 的回复:
为什么要用popupwindow
用dialog吗?
仁见阴刀 2014-01-10
  • 打赏
  • 举报
回复
引用 9 楼 afairycell 的回复:
?怎么不用AutoCompleteTextView
我就是在模仿AutoCompleteTextView 主要是因为AutoCompleteTextView在各个版本上的UI都不一样 所以做一个一样效果的
仁见阴刀 2014-01-10
  • 打赏
  • 举报
回复
引用 5 楼 ameyume 的回复:
上面的popupwindow只是个例子,你到popupWindow是ListView而已。 EditText没有焦点肯定是无法输入的。 焦点在EditText上时,点击PopupWindow上的ListView的item时怎么会没有反应? 就好比有两个button A和B,此时焦点在A上,但是B还是可以点击的啊。
另外 多谢你的热心解答
仁见阴刀 2014-01-10
  • 打赏
  • 举报
回复
引用 5 楼 ameyume 的回复:
上面的popupwindow只是个例子,你到popupWindow是ListView而已。 EditText没有焦点肯定是无法输入的。 焦点在EditText上时,点击PopupWindow上的ListView的item时怎么会没有反应? 就好比有两个button A和B,此时焦点在A上,但是B还是可以点击的啊。
有反应,selector产生了反应,也就是说选中和未选中的背景色不同,但是没有触发监听器........... 我现在手头没代码,明天发给你一份 你可以看看
afairycell 2014-01-10
  • 打赏
  • 举报
回复
引用 楼主 ls1110924 的回复:
如图,我现在的任务是移植android4.0的自动完成文本框到低版本的系统中。 我给图中的EditText绑定了一个TextWatcher监听器,只要EditText中的内容发生了变化,就打开下拉列表进行匹配。所以只要我输入一个字母,就开始匹配,然后弹出下拉列表。 这时候问题来了,如果我设置popupwindow得到焦点,这时候的下拉列表是可以点击的,但是不能再输入了;但是如果设置popupwindow没有焦点,是可以正常输入的,但是popupwindow上的下拉列表就不能点击了!!两天了,看源码也没看出个所以然了 所以跪求大神解答,强烈表示愿意为大神捡肥皂!!
设置popupwindow得到焦点,这时候的下拉列表是可以点击的。 你可以截获popupwindow的消息,获取输入的内容把数据反映到EDIT控件上,毕竟是两个控制,没有两个焦点的说法,不过可以模拟效果来实现。
加载更多回复(16)

80,356

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧