用户开始输入时关闭弹出窗口

时间:2014-06-03 13:53:22

标签: android

我有一个带有edittext的app,用户只需用软键盘写一些东西。用户点击按钮后会看到弹出窗口,在这种情况下用户仍然看到了键盘。当用户在弹出窗口外单击时,它应该消失,并且它可以正常工作,但如果用户点击键盘,弹出窗口将不会消失。也许有人处理同样的问题,可以帮助我。

步骤:

  1. 打开应用

  2. 调用键盘

  3. 调用popupwindow

  4. 开始输入

  5. 结果:弹出窗口未隐藏,文字未输入

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望键盘在用户点击时消失? 如果是这样,请为EditText执行此操作:

                final EditText sample = (EditText) findViewById(R.id.popupET);
            sample.addTextChangedListener(new TextWatcher() {

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                    InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    in.hideSoftInputFromWindow(sample.getWindowToken(),
                            InputMethodManager.HIDE_NOT_ALWAYS);

                }

                @Override
                public void beforeTextChanged(CharSequence s, int start, int count,
                        int after) {                        
                }

                @Override
                public void afterTextChanged(Editable s) {                      
                }
            });

它的作用就是等待用户输入任何键(按键盘上键)然后隐藏它。

示例EditText是您目前在代码中拥有的字段。

如果一切正常,请告诉我