软键盘不显示,不关闭时

时间:2012-06-11 13:27:46

标签: android android-softkeyboard

我有一个用于过滤列表的edittext。我的问题是,当我点击edittext时,键盘没有出现,当我按下输入时它就不会关闭。

我正在使用此代码进行过滤:

adapt = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,veik);
    lv.setTextFilterEnabled(true);
ed.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub

            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                // veikali.this.veik.getFilter().filter(s);
                 adapt.getFilter().filter(s);
            }
        });

          ed.setClickable(true);

你能告诉我当我点击edittext并在按下回车时隐藏它时,我怎样才能显示键盘?

3 个答案:

答案 0 :(得分:1)

如果您使用的是TouchScreen手机,则在触摸edittext时会出现SoftKeyboard。至于查询的第二部分,请尝试以下方法:

ed.setOnKeyListener(new View.OnKeyListener()
    {

        @Override
        public boolean onKey(View editView, int keyCode, KeyEvent event)
        {
            Context mContext = MyClass.this;
            if( keyCode == KeyEvent.KEYCODE_ENTER ){
                InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(ed.getWindowToken(),0);
                return true;
            }
            return false;
        }
    })

答案 1 :(得分:1)

这似乎是很多额外的工作。我并不是每个人都记得必须将这个功能提供给我的edittexts,因为默认情况下应该这样做。

你确定edittext可以聚焦并且没有某种类型的视图阻止吗? 如果您在列表视图中使用,则可能需要查看此帖子Focusable EditText inside ListView

答案 2 :(得分:0)

作为简单的解决方案,尝试在AndroidManifest.xml中为activity的标记添加以下属性:

android:windowSoftInputMode="stateVisible|adjustResize"

检查this documentation.