用户从AutoCompleteTextView中选择“something”后如何隐藏键盘?

时间:2018-02-05 13:33:13

标签: android android-adapter android-softkeyboard autocompletetextview

我有一个AutoCompleteTextView,当用户输入时他会得到键盘。之后,用户从AutoCompleteTextView中选择需要什么,但键盘是停留而不是隐藏。

这是我的Layout.xml代码:

 <AutoCompleteTextView
            android:id="@+id/autocompleteTextView"
            android:layout_width="300dp"
            android:layout_marginLeft="33dp"
            android:layout_height="match_parent"
            android:hint="  Choose what you need"
            android:ems="3"
            android:maxLength="30"
            android:backgroundTint="#FFFFFF"/>

这是我的java代码:

 mAutocompleteView.setOnItemClickListener(mAutocompleteClickListener);
 mAutocompleteView.setAdapter(mAdapter);

如果我想在自动完成功能中选择内容后隐藏键盘,我应该怎么做?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

试试这个会对你有用

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

答案 1 :(得分:0)

试试这个肯定会对你有用

    AutoCompleteTextView text = (AutoCompleteTextView) findViewById(R.id.auto_insert_meds);

    text.setOnItemClickListener(new OnItemClickListener() {

  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    in.hideSoftInputFromWindow(arg1.getApplicationWindowToken(), 0);

  }

});

或者,您可以使用:

 AutoCompleteTextView autoText= (AutoCompleteTextView) findViewById(R.id.auto_insert_meds);

autoText.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    View view = this.getCurrentFocus();
    if (view != null) {
        InputMethodManager inputManager = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
        inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

    }
  }
});