首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 偵測 EditText 失去焦點:實作 OnFocusChangeListener 判斷 hasFocus

     編輯:程式設計綜合問答

為 EditText 設定 OnFocusChangeListener,在 onFocusChange 中檢查 hasFocus 為 false 即表示失去焦點。

程式碼

EditText editText = findViewById(R.id.edittxt);
editText.setOnFocusChangeListener((v, hasFocus) -> {
    if (!hasFocus) {
        // 失去焦點時執行:驗證輸入、隱藏鍵盤、儲存草稿等
        validateInput(editText.getText().toString());
    }
});

常見用途

  • 即時驗證格式(Email、手機號)。
  • 失去焦點自動隱藏軟鍵盤:
    InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
  • 表單欄位離開時儲存草稿。

注意

  • 焦點變更也可能由程式碼觸發(如 requestFocus()),hasFocus 仍能正確反映。
  • 若佈局中有多個可聚焦視圖,焦點轉移順序受 android:nextFocusDown 等屬性影響。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved