Android:调用onPause()时隐藏或销毁视图

Android:调用onPause()时隐藏或销毁视图,android,android-fragments,custom-keyboard,Android,Android Fragments,Custom Keyboard,嗨,我在我的片段中使用自定义键盘视图。当用户点击编辑文本时,显示此视图 insideEdit.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { mKeyboardViewTolerance = new CustomKeyboard(getActivity(), R.id.keyboar

嗨,我在我的片段中使用自定义键盘视图。当用户点击编辑文本时,显示此视图

insideEdit.setOnTouchListener(new OnTouchListener() {
                public boolean onTouch(View v, MotionEvent event) {

                    mKeyboardViewTolerance = new CustomKeyboard(getActivity(), R.id.keyboardviewtolerance, R.xml.keyboard_layout);
                    mKeyboardViewTolerance.showCustomKeyboard(insideEdit);
                    insideEdit.setInputType(InputType.TYPE_NULL);
                    return false;
                }
            });
当任何一个用户切换到其他片段,来到同一片段并点击edittext时,视图不会呈现。我可以看到视图在那里,但视图在屏幕上不可见

我尝试将其隐藏在OnPause()中,但视图仍然不可见

 @Override
    public void onPause() {
         if(mKeyboardViewTolerance != null && mKeyboardViewTolerance.isCustomKeyboardVisible()){

                mKeyboardViewTolerance.hideCustomKeyboard();
            }
}

尝试在EditText上使用focus listener。

尝试在EditText上使用focus listener。

使用此代码,它将解决您的问题:

 View view = this.getCurrentFocus();
 if (view != null) {
   InputMethodManager mInputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            mInputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

使用此代码,它将解决您的问题:

 View view = this.getCurrentFocus();
 if (view != null) {
   InputMethodManager mInputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            mInputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

已在我的showkeyboard()中使用相同的设置。点击编辑文本……public void showCustomKeyboard(视图v){mKeyboardView.setVisibility(View.VISIBLE);mKeyboardView.setEnabled(true);if(v!=null)((InputMethodManager)mHostActivity.getSystemService(mHostActivity.INPUT_方法_服务))。HideOffInputFromWindow(v.getWindowToken(),0);}可以共享自定义键盘类包com.ts.in.android.oring.activity的导入包名称;它是您的自定义包吗?使用转换动画隐藏键盘。已在我的showkeyboard()中使用相同的动画点击编辑文本……public void showCustomKeyboard(视图v){mKeyboardView.setVisibility(View.VISIBLE);mKeyboardView.setEnabled(true);if(v!=null)((InputMethodManager)mHostActivity.getSystemService(mHostActivity.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(v.getWindowToken(),0);}可以共享自定义键盘类包com.ts.in.android.oring.activity的导入包名称;这是您的自定义包吗?使用翻译动画隐藏键盘。