SDK 21之前的TextView setShowSoftInputOnFocus等效?

时间:2016-04-14 20:26:32

标签: android textview android-softkeyboard

我有一个EditText,我希望我的应用程序在我专注于它时永远不会显示软键盘。我正在使用外接键盘。

我想在我的活动onCreate中执行此操作:

EditText debugPrompt = (EditText)findViewById(R.id.debug_prompt);
debugPrompt.setShowSoftInputOnFocus(false);

问题是,我使用的是SDK 19,并且在21中添加了setShowSoftInputOnFocus。是否有任何等效内容?

到目前为止,我最好的尝试是:

getWindow().setSoftInputMode(
            WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
EditText debugPrompt = (EditText)findViewById(R.id.debug_prompt);
debugPrompt.requestFocus();

这是部分工作。键盘在第4行后隐藏,但在我点击EditText时会显示自己。

2 个答案:

答案 0 :(得分:0)

InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

imm.hideSoftInputFromWindow(view.getWindowToken(),0);

答案 1 :(得分:0)

public static void disableinputRetaincursor(EditText editText) {
    if (Build.VERSION.SDK_INT >= 11) {
        editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
        editText.setTextIsSelectable(true);
    } else {
        editText.setRawInputType(InputType.TYPE_NULL);
        editText.setFocusable(true);
    }
}