在片段替换上显示/隐藏Android软键盘

我有一个片段的活动。让我们来看一个列表片段,其中列出了一些事情。现在我想让用户添加一个东西,所以我使用FragmentManager来替换带有一个EditText的插入片段的列表片段。 EditText有焦点,光标闪烁。但是软键盘没有打开。
同样的事情,其他方式:如果用户已经输入新的东西并将其添加到列表中,我将插入片段替换为列表片段。但是,尽管没有EditText,键盘也不会关闭。

实现这一点的正确方法是什么?我不敢相信我必须在所有转场上手动显示和隐藏键盘?

我的应用程序有同样的问题,最后我们有2个选项,首先创建一个通用函数,并在所有转换中调用这个选项,或者创建一个全局转换,这样做如下:

public static void RemoveAndReplaceFragment(FragmentManager fragmentManager, int FragmentContent, Fragment PlaceHolderFragment,Activity context){
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.remove(fragmentManager.findFragmentById(R.id.frgMainActivity))
                .commit();

        //Close keyBoard in transition
        InputMethodManager inputManager = (InputMethodManager) context.getSystemService(
                Context.INPUT_METHOD_SERVICE);
        inputManager.hideSoftInputFromWindow(context.getCurrentFocus().getWindowToken(),
                InputMethodManager.HIDE_NOT_ALWAYS);

        fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.setCustomAnimations(R.anim.animation_fade_in,R.anim.animation_fade_out);
        fragmentTransaction.replace(R.id.frgMainActivity, new PlaceholderFragment_MainActivity_AcceptAndFollowTask()).commit();
    }
}

最好的方法是捕捉过渡事件,但是我们不能在这一刻…告诉我,如果我帮助你,祝你好运!

http://stackoverflow.com/questions/25675883/show-hide-android-softkeyboard-on-fragment-replace

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在片段替换上显示/隐藏Android软键盘