0

リストをフィルタリングするための編集テキストがあります。そして私の問題は、edittextをクリックしてもキーボードが表示されず、Enterキーを押しても閉じないことです。

このコードを使用してフィルタリングしています:

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 をクリックするとキーボードを表示し、Enter キーを押すとキーボードを非表示にする方法を教えてください。

4

3 に答える 3

1

タッチスクリーン電話を使用している場合、エディットテキストをタッチするとSoftKeyboardが表示されます。クエリの2番目の部分については、次のことを試してください。

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;
        }
    })
于 2012-06-11T13:37:32.807 に答える
1

これは多くの余分な作業のようです。デフォルトでこの機能を実行する必要があるため、編集テキストにこの機能を提供する必要があることをすべて覚えているわけではありません。

edittext がフォーカス可能であり、それをブロックするタイプのビューがないことは確かですか? リストビューで使用している場合は、このスレッドを確認することをお勧めしますFocusable EditText inside ListView

于 2012-06-11T13:43:12.897 に答える
0

簡単な解決策として、アクティビティのタグに次の属性を AndroidManifest.xml に追加してみてください。

android:windowSoftInputMode="stateVisible|adjustResize"

このドキュメントを確認してください。

于 2014-10-17T23:46:07.757 に答える