簡體   English   中英

即使鍵盤打開,后按也會關閉應用程序

[英]back pressing closes app even though keyboard is open

我的活動中有一個 searchView 視圖。 當我單擊它時,鍵盤會打開(應該如此),但是當我按下后退按鈕時,我希望它關閉鍵盤(可見),但它會關閉整個應用程序。 這在我添加此代碼后開始發生。 這有助於我在觸摸鍵盤外部時隱藏鍵盤:

    override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
        if (currentFocus != null) {
            val imm = this.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
            imm.hideSoftInputFromWindow(this.currentFocus!!.windowToken, 0)
        }
        return super.dispatchTouchEvent(ev)
    }

我該怎么做才能先按后退按鈕關閉打開的鍵盤,然后才關閉應用程序?

您確定被剪斷的代碼會導致所描述的行為嗎? 我剛剛編寫了一個小示例應用程序來復制該問題。 但是,即使使用您的dispatchTouchEvent代碼,第一次按下后退按鈕也只會關閉鍵盤,而只有第二次會退出應用程序。

我在 API 30 上使用模擬器對其進行了測試。

您是否每次更改也覆蓋onBackPressed()和/或onKeyDown()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM