很抱歉再次向您寻求关于此事的帮助,但所有其他帖子都没有帮助。
以下是情景:我有一个包含片段的布局的活动('A')。这个片段会根据用户输入进行更换。其中一个片段内有一个编辑框,我想在创建时将其聚焦并显示软键盘。因此,在片段的onCreateView()中,我使用:
mEt = (EditText) v.findViewById(R.id.et);
mEt.setImeOptions(EditorInfo.IME_ACTION_DONE);
mEt.requestFocus();
所以,第一次它可以工作,但如果片段被替换并在以后重新创建,则它会获得焦点,但键盘不会出现。
我尝试在片段被销毁之前隐藏键盘,如下所示:
InputMethodManager keyboard = (InputMethodManager)
ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.hideSoftInputFromWindow(et.getWindowToken(), 0);
或者通过以下方式显式显示键盘:
InputMethodManager keyboard = (InputMethodManager)
ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(et, 0);
但是(正如您可以想象的那样,因为我在这里发布 :)),问题仍然存在。
我也绝望地思考了一个活动/片段问题,并在活动上使用了相同的监听器技术,但没有成功。
非常沮丧,请帮忙 :)
<RequestFocus/>
标签时,我发现了一个类似的问题。 - ruX