2015-09-26 26 views
0

我無法爲此問題找到完美的解決方案。 我想在用戶開始滾動建議列表時隱藏鍵盤。爲什麼我的AutoCompleteTextView建議列表隱藏在鍵盤後面?

我想這一點,但它並不能幫助

adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_dropdown_item_1line, list_of_Cities) { 
      @Override 
      public View getView(int position, View convertView, ViewGroup parent) { 

       View v = super.getView(position, convertView, parent); 

       v.setOnTouchListener(new View.OnTouchListener() { 

        @Override 
        public boolean onTouch(View v, MotionEvent event) { 
         View view = activity.getCurrentFocus(); 
         if (event.getAction() == MotionEvent.ACTION_DOWN) { 
          InputMethodManager imm = (InputMethodManager) activity 
            .getSystemService(
              Context.INPUT_METHOD_SERVICE); 
          imm.hideSoftInputFromWindow(
            view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 
         } 

         return true; 
        } 
       }); 
       return v; 

      } 
     }; 

的onTouch方法被執行,但鍵盤不隱藏。 :(

回答

0

嘗試onItemClickListener

v.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.getWindowToken(), 0); 

     } 

    }); 
+0

但是當我選擇的項目之一,這隻會工作。 我想它的時候我開始向下滾動列表中隱藏 – Panda