2016-02-23 18 views
3

我在我的應用程序中有一個聊天功能。一切工作正常。我面臨的問題是我有一個編輯文本和一個發送文本的按鈕。現在,當我按下發送按鈕鍵盤下來,我不想。 因爲用戶在發送每封郵件後打開鍵盤非常煩人。有沒有人有任何解決方案。這是一個非常愚蠢的問題,但它對我來說非常重要。是否有任何改變XML或清單,我們可以做,這將有助於解決這個問題鍵盤應該始終顯示,不應該最小化,直到我按回

+0

我不知道如何,但問題得到解決,有一個progressdialog當按鈕被按下時顯示。我剛剛評論了該課程以及該課程的所有進度,然後問題就解決了。奇怪,但真正 –

回答

0

我在我的項目的一個面臨同樣的事情。嘗試這樣做以顯示鍵盤

private void showKeyboard(){ 
    InputMethodManager imgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); 
    imgr.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); 
    yourEditText.requestFocus(); 
} 

這使鍵盤只有在按下後退時纔會關閉。

+1

遺憾沒工作 –

1

試試下面的代碼:

@Override 
public boolean onKeyPreIme(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     // User has pressed Back key. So hide the keyboard 
     InputMethodManager mgr = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE); 
     mgr.hideSoftInputFromWindow(this.getWindowToken(), 0); 
     // TODO: Hide your view as you do it in your activity 
    } else if (keyCode == KeyEvent.KEYCODE_MENU) { 
     // Eat the event 
     return true; 
    } 
    return false; 
} 
+0

遺憾沒工作 –

0

根據這一answer

EditText txtEdit = (EditText) findViewById(R.id.txtEdit); 
txtEdit.setOnEditorActionListener(new OnEditorActionListener() { 

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    if (actionId == EditorInfo.IME_ACTION_DONE) { 
     // your additional processing... 
     return true; 
    } else { 
     return false; 
    } 
    } 

}); 

讓我知道它是否可以解決您的問題。

+0

遺憾沒工作 –

+0

我可以看看你的代碼? – Emzor

+0

我複製粘貼你的代碼 –

0

如果您從onEditorAction方法返回true方法,則不會再處理操作。在這種情況下,當動作爲EditorInfo.IME_ACTION_DONE時,您可以返回true以不隱藏鍵盤。

希望它會幫助!

+0

它不工作。我試過下面的代碼。但鍵盤仍然會最小化您添加的 –

+0

.. android:imeOptions =「actionDone」?在EditText的XML中? – Rahul

+0

是的,我補充它在XML和我添加的代碼由@Emzor –

相關問題