EditText無法獲取焦點(android:descendantFocusability用法簡析 )
開發中很常見的一個問題,專案中的listview不僅僅是簡單的文字,常常需要自己定義listview,自己的Adapter去繼承BaseAdapter,在adapter中按照需求進行編寫,問題就出現了,可能會發生點選每一個item的時候沒有反應,無法獲取的焦點。原因多半是由於在你自己定義的Item中存在諸如ImageButton,Button,CheckBox等子控制元件(也可以說是Button或者Checkable的子類控制元件),此時這些子控制元件會將焦點獲取到,所以常常當點選item時變化的是子控制元件,item本身的點選沒有響應。
這時候就可以使用descendantFocusability來解決啦,API描述如下:
android:descendantFocusability
Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.
Must be one of the following constant values.
該屬性是當一個為view獲取焦點時,定義viewGroup和其子控制元件兩者之間的關係。
屬性的值有三種:
beforeDescendants:viewgroup會優先其子類控制元件而獲取到焦點
afterDescendants:viewgroup只有當其子類控制元件不需要獲取焦點時才獲取焦點
blocksDescendants:viewgroup會覆蓋子類控制元件而直接獲得焦點
通常我們用到的是第三種,即在Item佈局的根佈局加上android:descendantFocusability=”blocksDescendants”的屬性就好了,至此listview點選的靈異事件告一段落。心得:遇到不會不懂的地方除了網上查詢資料之外,也可以多多去嘗試每種屬性的作用,多閱讀官方文件(我始終覺得還是讀原文的比翻譯的理解的會更好)。
相關文章
- android:descendantFocusability用法簡析Android
- jQuery文字框獲取焦點和失去焦點jQuery
- android的EditText,焦點會預設在第一個EditText中,我不希望焦點預設在任何EditText中,如何做?Android
- 火狐瀏覽器下focus()無法第二次獲取焦點瀏覽器
- 【筆記】android裡的EditText焦點的應用筆記Android
- 關於EditText焦點監聽
- jquery註冊文字框獲取焦點清空,失去焦點賦值jQuery賦值
- javascript如何獲取哪個元素獲得焦點JavaScript
- jQuery實現文字框獲取焦點jQuery
- 本日②三事 listView中editText焦點丟失View
- input文字框獲取焦點伸縮效果
- 如何利用js獲取取得焦點的元素JS
- js讓文字框獲取焦點程式碼JS
- 文字框獲取焦點設定樣式
- div元素獲取焦點觸發focus事件事件
- JavaScript文字框獲取焦點彈出tipsJavaScript
- vue中文字框自動獲取焦點Vue
- 如何使用angularjs實現文字框獲取焦點AngularJS
- 自定義jqGrid編輯功能,當行獲取焦點時編輯,失去焦點時儲存
- js 設定焦點 判斷控制元件是否獲得焦點 判斷哪個控制元件獲得焦點JS控制元件
- win10獲取焦點滑鼠消失怎麼解決_win10滑鼠焦點消失怎麼辦Win10
- 文字框獲取或者失去焦點改變樣式屬性
- javascript文字框獲取焦點設定其樣式程式碼JavaScript
- python中pyquery無法獲取標籤名的dom節點Python
- dataTransfer.getData()無法獲取資料
- 點選獲取焦點可以伸縮的搜尋框程式碼例項
- 去掉antd的Input元件獲取焦點時的藍色邊框元件
- 純css設定input文字框獲取焦點時的樣式CSS
- fixed定位和input獲取焦點影響鍵盤彈出效果
- Android 的 View 焦點定址AndroidView
- [PolicyException: 無法獲取所需的許可權。]Exception
- git fetch 無法獲取遠端分支?Git
- Jenkins解決無法獲取外掛的辦法Jenkins
- css 文字框focus獲取焦點設定樣式程式碼例項CSS
- CSS實現的文字框獲取焦點設定樣式程式碼CSS
- 微軟商店無法獲取怎麼辦_win10應用商店點獲取沒反應的解決方法微軟Win10
- JavaScript 判斷元素是否獲得焦點JavaScript
- Laravel ORM withAggregate 用法簡析LaravelORM