Android软键盘-使用OnBackpress方法
当我按下Android手机上的后退按钮时,它会关闭软键盘,但当调用Backpressed方法时,它不会关闭软键盘 我曾尝试以编程方式关闭软键盘,但无法准确解决问题Android软键盘-使用OnBackpress方法,android,kotlin,Android,Kotlin,当我按下Android手机上的后退按钮时,它会关闭软键盘,但当调用Backpressed方法时,它不会关闭软键盘 我曾尝试以编程方式关闭软键盘,但无法准确解决问题 val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager if (imm.isAcceptingText){ imm.toggleSoftInput(InputMethodManager.SHOW_FORCED
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
if (imm.isAcceptingText){
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0)
android.R.id.accessibilityActionHideTooltip
}*
我想在调用onbackpressed方法时关闭软键盘,那么在Android中back按钮到底是如何工作的呢
如果我调用onbackpressed方法,我需要以编程方式关闭软键盘,我需要避免关闭键盘代码这会关闭键盘
window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)
或者创建一个函数
fun hideKeyboard(activity: Activity) {
val imm = activity.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
//currently focused view
var view = activity.currentFocus
//If null, create a new one
if (view == null) {
view = View(activity)
}
imm.hideSoftInputFromWindow(view.windowToken, 0)
}
打电话
hideKeyboard(your_activity_context as YourActivity)
对于您的另一个问题,调用
onBackPress()
不会关闭键盘,因为按下后退按钮时的键盘关闭事件由系统本身处理,并且也会被消耗。如果手动触发onBackPress()
,它将不会调用隐藏的代码段。。