在Gingerbread及以下使用requestFocus后编辑文字不可编辑?

时间:2012-08-31 00:04:49

标签: android android-edittext android-softkeyboard

我有一个编辑文本,我设置了以下

editText.requestFocus()
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.showSoftInput(ediText, InputMethodManager.SHOW_IMPLICIT);

在ICS和JellyBean中完全正常,但在Gingerbread / Froyo等中,编辑文本不可编辑(无论用户输入在编辑文本中是否显示)。我对这种奇怪的行为毫无头绪。有没有想过解决这个问题?

2 个答案:

答案 0 :(得分:0)

试试这个:

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);

答案 1 :(得分:0)

只将getActivity()更改为getApplicationContext(),然后我认为它将在Gingerbread中用于ics。

EditText et = (EditText) findViewById(R.id.et);
    et.requestFocus();
    InputMethodManager imm = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);