Listview中Button搶占焦點的解決方法
istview button 搶占焦點的解決辦法:
Item xml 根節(jié)點添加 android:descendantFocusability="blocksDescendants"
Button 設(shè)置
android:focusable="false"
這樣點擊Button 和ListView Item 可以分別響應(yīng)自己的點擊事件
開發(fā)中很常見的一個問題,項目中的listview不僅僅是簡單的文字,常常需要自己定義listview,自己的Adapter去繼承BaseAdapter,在adapter中按照需求進行編寫,問題就出現(xiàn)了,可能會發(fā)生點擊每一個item的時候沒有反應(yīng),無法獲取的焦點。
原因多半是由于在你自己定義的Item中存在諸如ImageButton,Button,CheckBox等子控件(也可以說是Button或者Checkable的子類控件),此時這些子控件會將焦點獲取到,所以常常當點擊item時變化的是子控件,item本身的點擊沒有響應(yīng)。
這時候就可以使用descendantFocusability來解決啦
該屬性是當一個為view獲取焦點時,定義viewGroup和其子控件兩者之間的關(guān)系。
屬性的值有三種:
beforeDescendants:viewgroup會優(yōu)先其子類控件而獲取到焦點
afterDescendants:viewgroup只有當其子類控件不需要獲取焦點時才獲取焦點
blocksDescendants:viewgroup會覆蓋子類控件而直接獲得焦點
通常我們用到的是第三種,即在Item布局的根布局加上**android:descendantFocusability=”blocksDescendants”**的屬性就好了,至此listview點擊的靈異事件告一段落。
以上所述是小編給大家介紹的Listview中Button搶占焦點的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
使用adb命令向Android模擬器中導入通訊錄聯(lián)系人的方法
這篇文章主要介紹了使用adb命令向Android模擬器中導入通訊錄聯(lián)系人的方法,實例分析了導入通訊錄存儲文件的技巧,需要的朋友可以參考下2015-01-01Android ScrollView只能添加一個子控件問題解決方法
這篇文章主要介紹了Android ScrollView只能添加一個子控件問題解決方法,涉及Android界面布局的相關(guān)技巧,需要的朋友可以參考下2016-02-02Android編程使用WebView實現(xiàn)與Javascript交互的方法【相互調(diào)用參數(shù)、傳值】
這篇文章主要介紹了Android編程使用WebView實現(xiàn)與Javascript交互的方法,可實現(xiàn)基于WebView與JavaScript相互調(diào)用參數(shù)、傳值的功能,需要的朋友可以參考下2017-03-03Flutter基于Dart Unwrapping Multiple Optional小技巧
這篇文章主要為大家介紹了Flutter Unwrapping Multiple Optional打開多個選項小技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12android自動安裝apk代碼實例(不使用apk安裝器安裝)
這篇文章主要介紹了android自動安裝apk代碼實例,代碼簡單,大家參考使用吧2013-11-11