EditText的onEditorAction監(jiān)聽事件執(zhí)行兩次

項目實現搜索功能時,使用Charles抓包查看網絡請求,發(fā)現使用軟鍵盤觸發(fā)一次搜索會執(zhí)行2次Api請求。通過調試發(fā)現原因是Android的EditText通過setOnEditorActionListener給文本編輯框設置監(jiān)聽事件,但是在其處理方法onEditorAction中的邏輯在每次回車后都觸發(fā)了兩次,原來是在鍵盤回車的ACTION_UP和ACTION_DOWN時都會觸發(fā)這個方法。因此需要對代碼做下調整,防止執(zhí)行2次網絡請求耗費流量和性能。

etSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) {
                    doSearch();
                    return true;
                }
                return true;
            }
        });
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評論 25 708
  • ¥開啟¥ 【iAPP實現進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,380評論 0 17
  • 董沛沛 洛陽 焦點講師班三期 堅持原創(chuàng)分享第111天 昨晚上課,今天約練,收獲有很多,簡單的梳理一下。 課上我拿出...
    緣源流長閱讀 365評論 0 1
  • 我讀汪國真 文/小哲 沒讀過他太多的詩 僅是一首兩首 但是就僅僅這一首兩首 足可以讓我在世人面前賣弄 吟誦百遍千遍...
    小哲小詩閱讀 281評論 0 0

友情鏈接更多精彩內容