Listview中Button搶占焦點(diǎn)的解決方法
istview button 搶占焦點(diǎn)的解決辦法:
Item xml 根節(jié)點(diǎn)添加 android:descendantFocusability="blocksDescendants"
Button 設(shè)置
android:focusable="false"
這樣點(diǎn)擊Button 和ListView Item 可以分別響應(yīng)自己的點(diǎn)擊事件
開(kāi)發(fā)中很常見(jiàn)的一個(gè)問(wèn)題,項(xiàng)目中的listview不僅僅是簡(jiǎn)單的文字,常常需要自己定義listview,自己的Adapter去繼承BaseAdapter,在adapter中按照需求進(jìn)行編寫(xiě),問(wèn)題就出現(xiàn)了,可能會(huì)發(fā)生點(diǎn)擊每一個(gè)item的時(shí)候沒(méi)有反應(yīng),無(wú)法獲取的焦點(diǎn)。
原因多半是由于在你自己定義的Item中存在諸如ImageButton,Button,CheckBox等子控件(也可以說(shuō)是Button或者Checkable的子類(lèi)控件),此時(shí)這些子控件會(huì)將焦點(diǎn)獲取到,所以常常當(dāng)點(diǎn)擊item時(shí)變化的是子控件,item本身的點(diǎn)擊沒(méi)有響應(yīng)。
這時(shí)候就可以使用descendantFocusability來(lái)解決啦
該屬性是當(dāng)一個(gè)為view獲取焦點(diǎn)時(shí),定義viewGroup和其子控件兩者之間的關(guān)系。
屬性的值有三種:
beforeDescendants:viewgroup會(huì)優(yōu)先其子類(lèi)控件而獲取到焦點(diǎn)
afterDescendants:viewgroup只有當(dāng)其子類(lèi)控件不需要獲取焦點(diǎn)時(shí)才獲取焦點(diǎn)
blocksDescendants:viewgroup會(huì)覆蓋子類(lèi)控件而直接獲得焦點(diǎn)
通常我們用到的是第三種,即在Item布局的根布局加上**android:descendantFocusability=”blocksDescendants”**的屬性就好了,至此listview點(diǎn)擊的靈異事件告一段落。
以上所述是小編給大家介紹的Listview中Button搶占焦點(diǎn)的解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
使用adb命令向Android模擬器中導(dǎo)入通訊錄聯(lián)系人的方法
這篇文章主要介紹了使用adb命令向Android模擬器中導(dǎo)入通訊錄聯(lián)系人的方法,實(shí)例分析了導(dǎo)入通訊錄存儲(chǔ)文件的技巧,需要的朋友可以參考下2015-01-01Android ScrollView只能添加一個(gè)子控件問(wèn)題解決方法
這篇文章主要介紹了Android ScrollView只能添加一個(gè)子控件問(wèn)題解決方法,涉及Android界面布局的相關(guān)技巧,需要的朋友可以參考下2016-02-02Android編程使用WebView實(shí)現(xiàn)與Javascript交互的方法【相互調(diào)用參數(shù)、傳值】
這篇文章主要介紹了Android編程使用WebView實(shí)現(xiàn)與Javascript交互的方法,可實(shí)現(xiàn)基于WebView與JavaScript相互調(diào)用參數(shù)、傳值的功能,需要的朋友可以參考下2017-03-03Flutter基于Dart Unwrapping Multiple Optional小技巧
這篇文章主要為大家介紹了Flutter Unwrapping Multiple Optional打開(kāi)多個(gè)選項(xiàng)小技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12android自動(dòng)安裝apk代碼實(shí)例(不使用apk安裝器安裝)
這篇文章主要介紹了android自動(dòng)安裝apk代碼實(shí)例,代碼簡(jiǎn)單,大家參考使用吧2013-11-11Android 處理 View 重復(fù)點(diǎn)擊的多種方法
這篇文章主要介紹了Android 處理 View 重復(fù)點(diǎn)擊的多種方法,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-03-03Android 打開(kāi)網(wǎng)絡(luò)上pdf文件
本文主要介紹了Android打開(kāi)網(wǎng)絡(luò)上pdf文件的方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04Android打造流暢九宮格抽獎(jiǎng)活動(dòng)效果
抽獎(jiǎng)活動(dòng)有很多種形式,轉(zhuǎn)盤(pán)抽獎(jiǎng),九宮格抽獎(jiǎng),刮刮卡抽獎(jiǎng),這篇文章主要為大家詳細(xì)介紹了如何打造流暢九宮格抽獎(jiǎng)活動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android實(shí)現(xiàn)記住用戶(hù)名和密碼功能
登陸界面創(chuàng)建一個(gè)復(fù)選按鈕,通過(guò)按鈕選取來(lái)進(jìn)行事件處理。若按鈕選中記住賬號(hào)和密碼的信息,本文教大家如何使用Android實(shí)現(xiàn)記住用戶(hù)名和密碼功能,感興趣的小伙伴們可以參考一下2016-05-05Android Retrofit 中文亂碼問(wèn)題的解決辦法
這篇文章主要介紹了Android Retrofit 中文亂碼問(wèn)題的解決辦法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家遇到這種問(wèn)題及時(shí)的解決,需要的朋友可以參考下2017-10-10