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

Android ListView 中 EditText 無光標問題的修復方案

     編輯:程式設計綜合問答

現象

ListView 項目包含 EditText,點擊可彈出鍵盤獲得焦點,但**無閃爍光標**,無法輸入。

根本原因

ListView 項目佈局寬度未撐滿,導致 EditText 寬度為 0 或極小,光標超出可見區域。

解決方案




    android:layout_height="wrap_content"
    android:cursorVisible="true"         
    android:focusable="true"
    android:focusableInTouchMode="true" />

補充優化

  1. 在 ListView 設置 android:descendantFocusability="beforeDescendants" 並配合 android:focusableInTouchMode="true" 於父佈局,避免焦點搶奪。
  2. 若使用 BaseAdapter,確保 getView() 中正確綁定焦點監聽,避免複用導致焦點錯亂。

一句話修復

將 EditText 的 layout_width 從 wrap_content 改為 match_parent(或 fill_parent),光標即可正常顯示。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved