Android ListView 和ScroolView 出現(xiàn)onmeasure空指針的解決辦法
ListView 和ScroolView同時使用計算高度時onmeasure報空指針的解決辦法
前言:
雖然Android 的設計者始終認為ListView、GridView+ScroolView組合使用并不是一種比較好的實現(xiàn)方法。但是在我們開發(fā)過程中又會經常使用到這樣的需求,特別是在適配小屏幕手機的時候又必須要用這種讓人不接受的設計,下面就來說一下在計算ListView或者GridView的過程中會出現(xiàn)onmeasure空指針的問題。
解決辦法
當我發(fā)現(xiàn)listItem.measure(0,0)報空指針異常的時候,第一反應是listItem報空指針,然而debug調試過后發(fā)現(xiàn)其不為null,這個時候就比較費解了。
通過查看官方API和一些資料查找后發(fā)現(xiàn)了幕后的原因,其主要原因跟Linearlayout的機制有關,原因是因為只有Linearlayout重寫了onmeasure這個方法,而android的其他的4種布局均沒有重寫onmeasure方法,想到這里,這個問題就不解自破了。既然要用到measure計算高度,那么我們就只能用Linearlayout布局了,所有解決這個問題的辦法就是把你對應的適配器(adapter)里的其他布局改成Linearlayout就OK了。
自從跟進了這個問題之后,我最近也在尋找新的方式取代這種ListView 和ScroolView同時使用的情況,研究出來后會第一時間分享給大家。希望這篇博客能幫助大家解決這個問題。
總結
把adapter中的布局改成Linearlayout即可。原因如上。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Android WebView實現(xiàn)網(wǎng)頁滾動截圖
這篇文章主要為大家詳細介紹了Android WebView實現(xiàn)網(wǎng)頁滾動截圖,對整個網(wǎng)頁進行截屏,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
Intel HAXM為Android 模擬器加速解決模擬器運行慢的問題
Android 模擬器一直以運行速度慢著稱, 本文介紹使用 Intel HAXM 技術為 Android 模擬器加速, 使模擬器運行度媲美真機, 徹底解決模擬器運行慢的問題,感興趣的朋友可以了解下哦2013-01-01
android設備不識別awk命令 缺少busybox怎么辦
這篇文章主要為大家詳細介紹了android設備不識別awk命令,缺少busybox的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
解決android studio 打包發(fā)現(xiàn)generate signed apk 消失不見問題
這篇文章主要介紹了解決android studio 打包發(fā)現(xiàn)generate signed apk 消失不見問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Android 日志系統(tǒng)Logger源代碼詳細介紹
本文主要介紹Android 日志系統(tǒng)Logger,這里整理了關于Android源碼的日志系統(tǒng)資料,有研究Android源碼的朋友可以參考下2016-08-08
Android 圖片處理避免出現(xiàn)oom的方法詳解
本篇文章主要介紹了Android 圖片處理避免出現(xiàn)oom的方法詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
Android 文件存儲與SharedPreferences存儲方式詳解用法
SharedPreferences是安卓平臺上一個輕量級的存儲類,用來保存應用的一些常用配置,比如Activity狀態(tài),Activity暫停時,將此activity的狀態(tài)保存到SharedPereferences中;當Activity重載,系統(tǒng)回調方法onSaveInstanceState時,再從SharedPreferences中將值取出2021-10-10

