2016-03-02 41 views
1

我是新來的android。我有一個編輯文本,當我點擊它時,鍵盤自動顯示。但我想要做的是當編輯文本中的用戶雙選項卡應顯示鍵盤。如何實現它?Editext關閉編程的鍵盤可見性android

<Edit Text 
      android:id="@+id/TV" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:hint="type something"/> 

這裏我簡單地編輯文本。我帶一個手勢監聽器類來實現雙擊監聽器事件。

+0

請參考以下鏈接http://stackoverflow.com/questions/18977187/how-to-hide-soft-keyboard-when-activity-starts – ajantha

回答

0

爲什麼不使用OnLongClickListener來達到你想要的效果?

yourEditText .setOnLongClickListener(new View.OnLongClickListener() { 
      @Override 
      public boolean onLongClick(View v) { 
       //show your keyboard 
       return false; 
      } 
     }); 

隱藏軟鍵盤時,點擊編輯文本

yourEditText.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
       InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
     if (imm != null) { 
      imm.hideSoftInputFromWindow(v.getWindowToken(), 0); 
     }  

      } 
     }); 

這裏也看到這篇文章Android: How to detect double-tap?可以幫助你瞭解

+0

我只是想阻止自動打開鍵盤時,我只需點擊edittext,但我不知道如何實現它。 – sunita

+0

檢查我的編輯答案我告訴我,如果你成功。希望能幫助你。 –

+0

沒有它的不工作仍然打開鍵盤單擊 – sunita

0

找到下面的代碼,它會檢查的EditText被打開或不。如果它被打開,則關閉它

 yourEditText.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      yourEditText= this.getCurrentFocus(); 
      if (yourEditText!= null) { 
       InputMethodManager imm = (InputMethodManager) getActivity() 
         .getSystemService(Context.INPUT_METHOD_SERVICE); 

       if (imm.isAcceptingText()) { 
        imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0); 
       } 
      } 

     } 
    });