最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 解決dialog彈出時無法捕捉Activity的back事件問題

 更新時間:2016年11月27日 16:41:44   作者:海 子  
這篇文章主要介紹了Android 解決dialog彈出時無法捕捉Activity的back事件問題的相關資料,需要的朋友可以參考下

Android 如何解決dialog彈出時無法捕捉Activity的back事件

  在一些情況下,我們需要捕捉back鍵事件,然后在捕捉到的事件里寫入我們需要進行的處理,通??梢圆捎孟旅嫒N辦法捕捉到back事件:

  1)重寫onKeyDown或者onKeyUp方法

  2)重寫onBackPressed方法

  3)重寫dispatchKeyEvent方法

  這三種辦法有什么區(qū)別在這里不進行闡述,有興趣的朋友可以查閱相關資料。

  然而在有dialog彈出時,想捕捉back鍵的事件的話,上述三種辦法都無法實現(xiàn)。因為上述方法是重寫在activity里面的,也就是說當activity是當前焦點時,它可以捕捉到相應的back鍵事件,而有dialog彈出時,dialog獲取了當前焦點,所以activity里面的方法無法獲取到back鍵事件,此時有兩種思路:

  1)設置dialog的setOnCancelListener監(jiān)聽:


selectDialog.setOnCancelListener(new OnCancelListener() {
        
        @Override
        public void onCancel(DialogInterface dialog) {
          // TODO Auto-generated method stub
      
            // Toast.makeText(getBaseContext(), "點擊了back", Toast.LENGTH_SHORT).show();
        }
      });

  這樣就可以捕捉到back鍵的事件了,當按下back鍵時,系統(tǒng)默認的操作會讓dialog cancel掉,此時會觸發(fā)OnCancelListener,然后在onCancel方法里面就可以實現(xiàn)自己想要實現(xiàn)的操作了。

  2)設置dialog的setOnKeyListener并重寫dispatchKeyEvent方法

selectDialog.setOnKeyListener(new OnKeyListener() {
        
        @Override
        public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
          // TODO Auto-generated method stub
          if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0)
          {
            dialog.dismiss();
          }
          return false;
        }
      });
  public boolean dispatchKeyEvent(KeyEvent event)
  {
    
    switch(event.getKeyCode())
    {
    case KeyEvent.KEYCODE_BACK:      
      Toast.makeText(getBaseContext(), "點擊了back", Toast.LENGTH_SHORT).show();
      break;
    default:
      break;
    }
    return super.dispatchKeyEvent(event);
  }

  然后在dispatchKeyEvent里面就可以實現(xiàn)自己想要實現(xiàn)的操作了。

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Android自定義超級炫酷的ViewPage指示器

    Android自定義超級炫酷的ViewPage指示器

    由于應公司開發(fā)要求,有一個顏色漸變帶縮放的指示器,雖然網(wǎng)上很多大佬開源的指示器開源庫,但如果一直都是使用別人造的輪子,那么對于自身的能力是毫無提升作用的,即使是參考別人的,然后自己動手寫一遍那對于自身來說也是一種升華
    2022-07-07
  • Android高效安全加載圖片的方法詳解

    Android高效安全加載圖片的方法詳解

    Android開發(fā)中消耗內(nèi)存較多一般都是在圖像上面,下面這篇文章主要給大家介紹了關于Android如何高效安全加載圖片的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • Flutter系列重學Container示例詳解

    Flutter系列重學Container示例詳解

    這篇文章主要為大家介紹了Flutter系列重學Container示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Android相機Camera基礎知識

    Android相機Camera基礎知識

    這篇文章主要為大家詳細介紹了Android相機Camera基礎知識,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android實現(xiàn)消息總線的幾種方式詳解

    Android實現(xiàn)消息總線的幾種方式詳解

    關于Android消息傳遞方式比較多,一般的系統(tǒng)原生實現(xiàn)方式比如Handler?、自定義廣播、接口回調(diào),以及三方工具?EventBus?、RxBus?等,下面這篇文章主要給大家介紹了關于Android實現(xiàn)消息總線的幾種方式,需要的朋友可以參考下
    2022-06-06
  • Android開發(fā)之OkHttpUtils的具體使用方法

    Android開發(fā)之OkHttpUtils的具體使用方法

    這篇文章主要介紹了Android開發(fā)之OkHttpUtils的具體使用方法,非常具有實用價值,需要的朋友可以參考下
    2017-08-08
  • Android Studio 升級到3.0后輸入法中文狀態(tài)下無法選詞的終極解決方案

    Android Studio 升級到3.0后輸入法中文狀態(tài)下無法選詞的終極解決方案

    這篇文章主要介紹了 AndroidStudio 升級到3.0后輸入法中文狀態(tài)下無法選詞的解決方案,需要的朋友可以參考下
    2017-11-11
  • Android實現(xiàn)語音數(shù)據(jù)實時采集、播放

    Android實現(xiàn)語音數(shù)據(jù)實時采集、播放

    這篇文章主要介紹了android實現(xiàn)語音數(shù)據(jù)實時采集、播放的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 實例詳解Android Webview攔截ajax請求

    實例詳解Android Webview攔截ajax請求

    本篇內(nèi)容主要給大家講解了Android Webview攔截ajax請求的詳細講解,需要的朋友一起來學習一下。
    2017-11-11
  • Android中webview使用的一些坑

    Android中webview使用的一些坑

    這篇文章主要給大家介紹了關于Android中webview使用的一些坑,通過一下總結的這些內(nèi)容,對大家學習或者使用webview具有一定的參考學習價值,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-05-05

最新評論

泽普县| 华宁县| 射洪县| 康乐县| 黎平县| 文成县| 北宁市| 屏东市| 那坡县| 长兴县| 巴东县| 尼勒克县| 日土县| 嘉善县| 原阳县| 佛冈县| 姚安县| 泽州县| 沈阳市| 新乡市| 资溪县| 安陆市| 简阳市| 什邡市| 深水埗区| 广河县| 阳朔县| 陆川县| 克什克腾旗| 定襄县| 连江县| 恩平市| 邵阳县| 竹山县| 从化市| 丘北县| 马尔康县| 泉州市| 慈利县| 青田县| 玉山县|