国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 中ListView的Item點擊事件失效的快速解決方法

2019-12-12 05:16:11
字體:
來源:轉載
供稿:網友

在平常的開發過程中,我們的ListView可能不只是簡單的顯示下文本或者按鈕,更多的是顯示復雜的布局,這樣的話,我們就得自己寫布局和自定義adapter了,一般是繼承于BaseAdapter,示例代碼見下方。寫ListView的點擊事件時OnItemClickListener,onItemClick方法沒有執行,導致ListView中Item條目點擊事件失效,而Item中的View點擊事件可以在getView方法中進行處理。導致整個Item點擊失效的原因多半是由于在【你自己定義的Item中存在諸如ImageButton,Button,CheckBox等子控件(也可以說是Button或者Checkable的子類控件)】,此時這些子控件會將焦點獲取到,所以常常當點擊item時變化的是子控件,item本身的點擊沒有響應。

這時候就可以使用descendantFocusability來解決,其中descendantFocusability對應的屬性有3個

該屬性是當一個為view獲取焦點時,定義viewGroup和其子控件兩者之間的關系。

屬性的值有三種:

beforeDescendants:viewgroup會優先其子類控件而獲取到焦點

afterDescendants:viewgroup只有當其子類控件不需要獲取焦點時才獲取焦點

blocksDescendants:viewgroup會覆蓋子類控件而直接獲得焦點

通常我們用到的是第三種,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的屬性就好了
我遇到的情況時item布局有一個ImageButton按鈕,因為這個組件搶事件能力強,根button差不多;因此運行后,listviewitem點擊失效。使用上邊方式解決問題;當然也可以改變imagebutton為imageview也可以解決這個問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙河市| 石台县| 雅江县| 衡水市| 昌宁县| 银川市| 雷州市| 绥宁县| 即墨市| 蒙自县| 深水埗区| 江津市| 盐津县| 潜江市| 垦利县| 平定县| 新疆| 古浪县| 宁都县| 盐亭县| 平南县| 宕昌县| 郑州市| 桂林市| 台南市| 苗栗市| 手游| 两当县| 合水县| 达州市| 平顶山市| 开封市| 西吉县| 恭城| 老河口市| 和林格尔县| 平湖市| 镇江市| 永修县| 洮南市| 革吉县|