Android彈出dialog后無(wú)法捕捉back鍵的解決方法
一、需求
在Android開(kāi)發(fā)過(guò)程中,彈出dialog后無(wú)法捕捉back鍵,點(diǎn)擊back按鍵無(wú)響應(yīng)。
二、解決方案
原因:彈出dialog后,activity失去焦點(diǎn),dialog獲得當(dāng)前焦點(diǎn)。
解決辦法:在dialog中可以通過(guò)調(diào)用setOnKeyListener()方法來(lái)為dialog增加按鍵事件的監(jiān)聽(tīng)。
private void createDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getString(R.string.acq_select_hint));
builder.setPositiveButton(getString(R.string.dialog_cancel), (dialog, which) -> onCancelClicked(dialog));
builder.setCancelable(false);
builder.setOnKeyListener((dialog, keyCode, event) -> {
if (keyCode == KeyEvent.KEYCODE_BACK) {
onCancelClicked(dialog);
}
return false;
});
builder.create().show();
}
private void onCancelClicked(DialogInterface dialog) {
setResult(100);
finish();
dialog.dismiss();
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
源碼解析Android Jetpack組件之ViewModel的使用
Jetpack 是一個(gè)豐富的組件庫(kù),它的組件庫(kù)按類別分為 4 類,分別是架構(gòu)(Architecture)、界面(UI)、 行為(behavior)和基礎(chǔ)(foundation)。本文將從源碼和大家講講Jetpack組件中ViewModel的使用2023-04-04
Android使用CountDownTimer模擬短信驗(yàn)證倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了Android使用CountDownTimer模擬短信驗(yàn)證倒計(jì)時(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Android實(shí)現(xiàn)流光和光影移動(dòng)效果代碼
大家好,本篇文章主要講的是Android實(shí)現(xiàn)流光和光影移動(dòng)效果代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
Android中Fragment與Activity的生命周期對(duì)比
這篇文章主要介紹了Android中Fragment與Activity的生命周期對(duì)比,Fragment是在Activity的基礎(chǔ)之上進(jìn)行設(shè)計(jì)的,比Activity多出幾個(gè)控制生命周期的回調(diào)函數(shù),需要的朋友可以參考下2016-02-02
Android應(yīng)用中炫酷的橫向和環(huán)形進(jìn)度條的實(shí)例分享
這篇文章主要介紹了Android應(yīng)用中炫酷的橫向和圓形進(jìn)度條的實(shí)例分享,文中利用了一些GitHub上的插件進(jìn)行改寫,也是一片很好的二次開(kāi)發(fā)教學(xué),需要的朋友可以參考下2016-04-04
Android開(kāi)發(fā)實(shí)現(xiàn)讀取excel數(shù)據(jù)并保存為xml的方法
這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)讀取excel數(shù)據(jù)并保存為xml的方法,涉及Android針對(duì)Excel數(shù)據(jù)讀取及xml格式文件的構(gòu)造與保存相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
Android中的android:layout_weight使用詳解
layout_weight的作用是設(shè)置子空間在LinearLayout的重要度(控件的大小比重)。layout_weight的值越低,則控件越重要,下面為大家介紹下具體的使用方法2013-06-06
Android開(kāi)發(fā)之手勢(shì)檢測(cè)及通過(guò)手勢(shì)實(shí)現(xiàn)翻頁(yè)功能的方法
這篇文章主要介紹了Android開(kāi)發(fā)之手勢(shì)檢測(cè)及通過(guò)手勢(shì)實(shí)現(xiàn)翻頁(yè)功能的方法,結(jié)合實(shí)例形式分析了Android GestureDetector類實(shí)現(xiàn)手勢(shì)檢測(cè)功能的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
android layout XML解析錯(cuò)誤的解決方法
從別的地方復(fù)制過(guò)來(lái)XML時(shí),layout預(yù)覽時(shí)提示解析錯(cuò)誤。2013-04-04

