2014-09-03 79 views
0

每當我將注意力集中在某個編輯區域並且出現對話框時,只要我解散(),它就會拉起軟鍵盤。對話。點擊事件後,我已盡全力將其刪除,但無論我做什麼,它仍顯示出來。關閉對話框後出現軟鍵盤

public static void hideSoftInput(FragmentActivity _activity){ 
    if(_activity.getCurrentFocus() != null){ 
     InputMethodManager inputManager = (InputMethodManager) _activity.getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputManager.hideSoftInputFromWindow(_activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 
    } 
} 

public static void hideSoftInput(View _v, Context _c){ 
    if(_v.getWindowToken() != null){ 
     InputMethodManager inputManager = (InputMethodManager) _c.getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputManager.hideSoftInputFromWindow(_v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 
    } 
} 
+0

「我已經想盡辦法將其刪除」 >>你應該包括代碼,你已經嘗試的東西,所以我們可以避人建議你去嘗試,你已經事嘗試過... – 2Dee 2014-09-03 14:13:45

+0

如何使用其他視圖「requestFocus()」方法?基本上分散了該編輯文本的焦點 – Yosi199 2014-09-03 14:14:39

+0

是的,我專注於父元素,並添加了適當的xml標籤。然後它仍然顯示鍵盤並允許我鍵入,但鍵入的文本不會出現在任何地方。 – somerandomusername 2014-09-03 14:16:01

回答

1

我現在不能找到它,但有人在這裏建議其他包調用隱藏在postDelayed電話鍵盤。

當許多其他選項失敗時,它爲我工作。唯一的問題是,它可能會讓屏幕變得有趣,因爲在試圖顯示時會壓制鍵盤。如果沒有postDelayed,它似乎會嘗試在Android嘗試在對話框關閉後顯示它之前隱藏鍵盤。所以最終我們必須在Android中解決時間問題。

事情是這樣的:

view.postDelayed(new Runnable() 
{ 
    @Override 
    public void run() 
    { 
     hideKeyboard(); 
    } 
}, 50);