外部EditText与PopWindow的焦点问题

这是在项目中出现的问题并给予解决的一篇博客,曾经出现过解决了又忘了。再次出现也是措手不及,所以在此记录下来。

首先是出现的问题吧。使用 EditText 和 PopWindow 的一个组合完成一次模糊查询功能,而问题就是在配置PopWindow的时候会出现焦点到底在哪里的问题,焦点碰撞以及输入框和显示PopWindow(ListView)的界面碰撞问题。

直接面对重点(界面就不写了):都知道在配置PopWindow的时候会有一堆setXxxxx的设置,其中对这个问题需要关注的就是

setFocusable(boolean flag);// 获得焦点可以点击PopWindow中的ListView

setBackgroundDrawable(Drawable background);// 设置背景

setTouchable(boolean flag);// 设置可点击点击

在需要开始配置的时候我们以如下的方式进行配置:

setTouchable(true);

setBackgroundDrawable(new BitmapDrawable());

...其他的设置

setBackgroundDrawable(new BitmapDrawable());

...监听事件

按照这个方法就可以解决在 EditText 输入内容并通过模糊查询得到数据通过 PopWindow 显示之后,就会出现 EditText 光标卡死的现象。

而第二个问题主要是设置一个配置 setInputMethodMode(PopWindow.INPUT_METHOD_NEEDED);当然这只是其中一种配置方式,在与软键盘设置有时还需要在配置文件中的Activity中进行配置(android:windowSoftInputMode="xxx")。


猜你喜欢

转载自blog.csdn.net/github_34437042/article/details/68926947