[英]Android: Hiding or destroy view when onPause() is called
您好我在我的片段中使用自定義鍵盤視圖。 當用戶點擊編輯文本時,我會看到這個視圖
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上使用焦點偵聽器。
使用此代碼,它將解決您的問題:
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager mInputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mInputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.