2012-04-25 7 views
8

Uygulamamda liste görünümünde arama yapmak için bir liste görünümü ve arama çubuğuyla bir görünümüm var. Arama çubuğuna dokunduğunuzda odaklanır ve yazılım klavyesi açılır. Liste görünümüne dokunduğumda, klavye liste görünümünün üstünde kalır, bu yüzden çok fazla liste görüşüm göremiyorum.Android Liste görünümüne dokunduğunuzda Soft Keyboard'u kaldırın

Soruma Soru: Liste görünümüne dokunulduğunda/kaydırıldığında/... ve yumuşak klavyeyi nasıl kaldırırım VE odağı edittext'ten nasıl kaldırabilirim?

+0

Merhaba i. Arama çubuğu SoftKeyboard gösterilmiyor varsayılan söyler söylemez Uygulamamı Im olabilir burada mümkünse sorum var etkinlik başladığında softkey kartı açılır. – Manju

cevap

3

Take a look at this question liste görünümü kaydırılan edilmişse bilerek gelince, klavyeyi kapatmak için öğrenmek için, size liste görünümü sınıfını genişletmek ve onScrollChanged() yöntemini geçersiz kılmak ve onlar

etkileştirilir kaydırma zaman istediğini yapmak için yapabilirsiniz

Düzenleme: aslında bir liste görünümü @androidnoob cevap dayanarak

18

yılında kaydırma değişikliklerini dinlemek için bir OnScrollListener var, ben gerekli tam kod (bu belirli bir sorunu olan başkaları için) buraya gönderin.

list.setOnScrollListener(new OnScrollListener() { 
    public void onScrollStateChanged(AbsListView view, int scrollState) { 
      //hide KB 
      InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(colleagueSearch.getWindowToken(), 0); 
      } 

      public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } 
    }); 
2

yourListView.setOnScrollListener (yeni AbsListView.OnScrollListener() {

 @Override 
     public void onScrollStateChanged(AbsListView view, int scrollState) { 
      if (scrollState != 0){ 

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

      } 
     } 
     @Override 
     public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { 

     } 
    });