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的导入包名称;这是您的自定义包吗?使用翻译动画隐藏键盘。