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

Android ExpandableListView Child 點擊無響應:子視圖含焦點控件攔截觸摸事件

     編輯:程式設計綜合問答

常見原因

Child 佈局中包含 `EditText`、`Button`、`CheckBox` 等**可聚焦控件**,它們攔截觸摸事件導致 `OnChildClickListener` 不觸發。

解決方案

方案一:XML 禁用子控件焦點



方案二:父佈局攔截觸摸



    

方案三:代碼中設置 OnClickListener


@Override
public View getChildView(...) {
    View view = ...;
    view.setOnClickListener(v -> {
        // 手動回調
        if (listener != null) listener.onChildClick(...);
    });
    return view;
}

驗證步驟

  1. 確認 `isChildSelectable` 返回 `true`。
  2. 移除 Child 佈局中所有可聚焦控件測試,若生效則確為焦點攔截。
  3. 檢查 `setOnChildClickListener` 註冊時機(需在 `setAdapter` 後)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved