1

Androidアプリ開発は初心者ですが、iOSのプログラミング知識はあります。私は昨日だけ、Andriod を学び始めました。EditText 以外の場所をクリックしたときにキーボードを非表示にしたい。しかし、キーボードを非表示にするコードを見つけました。これは次のとおりです。

"InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(txtUserName.getWindowToken(), 0);"

次に、プロジェクトで次のように試しましたが、キーボードを非表示にできませんでした。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);

    txtUserName = (EditText)findViewById(R.id.txtUserName);

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(txtUserName.getWindowToken(), 0);
}

私の疑問は、touchEventsまたはkeyboardEventsを追加する必要があるかどうかです。私を助けてください。

4

5 に答える 5

2

私はこれをonCreate()行いましたが、それは役に立ちました:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
于 2012-05-11T08:34:08.977 に答える
0

これはあなたを助けるでしょう:

mInputMethodManager.hideSoftInputFromWindow(zipCodeEdt.getWindowToken(), 0);
于 2012-11-22T10:24:32.463 に答える
0

これは、キーボードが EditText ボックスに表示されないようにするための私のコードです。あなたのケースに合わせて調整できるかもしれません。

protected void hideKeyboard(EditText et){
    et.setKeyListener(null);
}
于 2012-05-11T08:49:47.773 に答える
0
 eidttext.setOnFocusChangeListener(new View.OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean arg1) {
            // TODO Auto-generated method stub
            if (!arg1) {
                hideKeyboard();

            }           

        }

        private void hideKeyboard() {
            // TODO Auto-generated method stub
            InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            inputManager.hideSoftInputFromWindow(confpassword
                    .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

        }
    });
于 2012-05-11T08:39:56.167 に答える