Android:不在AutocompleteTextView中显示软键盘

Android:不在AutocompleteTextView中显示软键盘,android,android-arrayadapter,android-softkeyboard,autocompletetextview,Android,Android Arrayadapter,Android Softkeyboard,Autocompletetextview,我有一个AutocompleteTextView来选择火车站,它使用两个不同的适配器: 适配器1:包含最近和附近电台的固定列表,不需要软键盘通过键入进行过滤 适配器2:包含指向站点sqlite数据库的光标确实需要一个软键盘,以便通过键入进行过滤 因此,我想阻止在AutocompleteTextView获得焦点并且使用适配器1时显示软键盘,但我还没有找到方法 我目前正在使用它,但软键盘不断弹出: InputMethodManager imm=InputMethodManagerContext.ge

我有一个AutocompleteTextView来选择火车站,它使用两个不同的适配器:

适配器1:包含最近和附近电台的固定列表,不需要软键盘通过键入进行过滤 适配器2:包含指向站点sqlite数据库的光标确实需要一个软键盘,以便通过键入进行过滤

因此,我想阻止在AutocompleteTextView获得焦点并且使用适配器1时显示软键盘,但我还没有找到方法

我目前正在使用它,但软键盘不断弹出: InputMethodManager imm=InputMethodManagerContext.getSystemServiceContext.INPUT\u方法\u服务; imm.hideSoftInputFromWindowgetApplicationWindowToken,0

我终于找到了办法! 在onFocusChange上,首先将焦点设置为其父项,然后调用showDropDown以显示下拉列表。这样键盘就不会弹出,因为AutocompleteTextView没有焦点

    setOnFocusChangeListener(new View.OnFocusChangeListener() {
        public void onFocusChange(View v, boolean hasFocus) {
            if(hasFocus) {
                setAdapter(Adapter1);
                ((ViewGroup)getParent()).setFocusableInTouchMode(true);
                ((ViewGroup)getParent()).requestFocus();
                showDropDown();
            }
        }
    });