久久精品国产99国产精品,农村大炕弄老女人,人马配速90分钟,香蕉成人伊视频在线观看

Android隱藏輸入法軟鍵盤的一些說明

在編寫一個仿微信的Android聊天軟件時,我發現了一個嚴重的BUG。當用戶點擊輸入框用軟鍵盤輸入文本的同時點擊了“返回好友列表”按鈕,返回到好友列表時軟鍵盤無法關閉。 為了解決這個問題,我上網找了

在編寫一個仿微信的Android聊天軟件時,我發現了一個嚴重的BUG。當用戶點擊輸入框用軟鍵盤輸入文本的同時點擊了“返回好友列表”按鈕,返回到好友列表時軟鍵盤無法關閉。

為了解決這個問題,我上網找了一些關于Android如何隱藏輸入法的方法。普遍的方法如下:

((InputMethodManager)getSystemService(_METHOD_SERVICE)).hideSoftInputFromWindow(().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

然而,當我將這段代碼加入到返回按鈕的點擊事件后,發現當用戶點擊了返回按鈕時App異常退出,并沒有報錯。我查詢了一下Android開發官網,發現實現以上功能的代碼應該這樣寫:

((InputMethodManager) getSystemService(_METHOD_SERVICE)).hideSoftInputFromWindow((), InputMethodManager.HIDE_NOT_ALWAYS);

這里的editview是輸入框。之所以用第二段代碼能夠實現所需功能,是因為第二段代碼是關閉指定輸入框的輸入法,而第一段代碼則針對整個Activity。在實際情況下,輸入法是在輸入框獲得焦點時打開的,而不是在Activity全局打開的,所以第一段代碼無法起效,并且會導致異常退出。

當然,在某些游戲中可能會用到針對Activity全局打開的輸入法軟鍵盤。因此,在使用關閉軟鍵盤的代碼時,一定要注意關閉之前是哪個控件觸發的軟鍵盤,還是由Activity觸發的。

標簽:
主站蜘蛛池模板: 长治县| 绥中县| 焉耆| 鄂温| 崇文区| 手游| 徐闻县| 吉林市| 辽源市| 永新县| 田林县| 五莲县| 桃源县| 宾川县| 海口市| 田东县| 额尔古纳市| 噶尔县| 喀喇沁旗| 阳山县| 新津县| 通城县| 禄丰县| 昌都县| 富顺县| 阳山县| 临澧县| 鹤岗市| 肇东市| 兴山县| 阜新市| 松潘县| 灌阳县| 岳西县| 简阳市| 佛坪县| 西贡区| 东港市| 巴中市| 万宁市| 增城市|