android:descendantFocusability屬性在ListView中的妙用

      以前項目中有個需求,webview做爲recyclerview的一個item,用以實現加載H5新聞,原生實現評論的功能,當主體功能實現完畢的時候,忽然出現一個意外:當滑動到文章底部的評論區域進行評論點贊,調用adapter.notifyDataSetChanged後,頁面自動滾動到頂部,百思不得其解。最後通過分析,多是webView 獲取到了焦點,經過對根佈局設置android

android:descendantFocusability="blocksDescendants">

bug解決。web

     

 

「android:descendantFocusability」的詳細解釋以下圖所示:佈局

descendantFocusability

descendantFocusabilitywebview

大意是:it

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

  屬性的值有三種:im

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

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

  • blocksDescendants:viewgroup會覆蓋子類控件而直接得到焦點。img

相關文章
相關標籤/搜索