2

我有一個AutocompleteTextView選擇一個火車站,這是使用兩個不同的適配器安卓:不顯示軟鍵盤AutocompleteTextView

適配器1:包含最近和附近的車站的固定列表(不需要軟鍵盤用於通過打字過濾)
適配器2:含有光標站的SQLite數據庫(DOES通過鍵入要求的軟鍵盤用於過濾)

所以,我想阻止顯示軟鍵盤時AutocompleteTextView獲取焦點和ADAPTER 1使用,但我還沒有找到一種方式。

我目前使用的這一點,但軟鍵盤不斷彈出:
InputMethodManager imm = (InputMethodManager)mContext.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);

回答

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(); 
      } 
     } 
    });