0

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

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

它在 ICS 和 JellyBean 中工作得非常好,但在 Gingerbread/Froyo 等中,编辑文本不可编辑(无论用户输入什么都不会显示在编辑文本中)。我对这种奇怪的行为一无所知。有什么办法解决这个问题吗?

4

2 回答 2

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);
于 2012-08-31T05:20:12.517 回答
0

尝试这个:

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
于 2012-08-31T04:48:39.830 回答