Android ListView 和ScroolView 出現(xiàn)onmeasure空指針的解決辦法
ListView 和ScroolView同時(shí)使用計(jì)算高度時(shí)onmeasure報(bào)空指針的解決辦法
前言:
雖然Android 的設(shè)計(jì)者始終認(rèn)為ListView、GridView+ScroolView組合使用并不是一種比較好的實(shí)現(xiàn)方法。但是在我們開發(fā)過程中又會(huì)經(jīng)常使用到這樣的需求,特別是在適配小屏幕手機(jī)的時(shí)候又必須要用這種讓人不接受的設(shè)計(jì),下面就來說一下在計(jì)算ListView或者GridView的過程中會(huì)出現(xiàn)onmeasure空指針的問題。
解決辦法
當(dāng)我發(fā)現(xiàn)listItem.measure(0,0)報(bào)空指針異常的時(shí)候,第一反應(yīng)是listItem報(bào)空指針,然而debug調(diào)試過后發(fā)現(xiàn)其不為null,這個(gè)時(shí)候就比較費(fèi)解了。
通過查看官方API和一些資料查找后發(fā)現(xiàn)了幕后的原因,其主要原因跟Linearlayout的機(jī)制有關(guān),原因是因?yàn)橹挥蠰inearlayout重寫了onmeasure這個(gè)方法,而android的其他的4種布局均沒有重寫onmeasure方法,想到這里,這個(gè)問題就不解自破了。既然要用到measure計(jì)算高度,那么我們就只能用Linearlayout布局了,所有解決這個(gè)問題的辦法就是把你對應(yīng)的適配器(adapter)里的其他布局改成Linearlayout就OK了。
自從跟進(jìn)了這個(gè)問題之后,我最近也在尋找新的方式取代這種ListView 和ScroolView同時(shí)使用的情況,研究出來后會(huì)第一時(shí)間分享給大家。希望這篇博客能幫助大家解決這個(gè)問題。
總結(jié)
把a(bǔ)dapter中的布局改成Linearlayout即可。原因如上。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android無限循環(huán)RecyclerView的完美實(shí)現(xiàn)方案
這篇文章主要介紹了Android無限循環(huán)RecyclerView的完美實(shí)現(xiàn)方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Android中多個(gè)ContentProvider的初始化順序詳解
在日常Android開發(fā)中經(jīng)常會(huì)寫一些sdk來供他人或者自己調(diào)用,一般這些sdk都涉及到初始化,下面這篇文章主要給大家介紹了關(guān)于Android中多個(gè)ContentProvider的初始化順序的相關(guān)資料,需要的朋友可以參考下2022-04-04Android中Uri和Path之間的轉(zhuǎn)換的示例代碼
本篇文章主要介紹了Android中Uri和Path之間的轉(zhuǎn)換的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04Android Studio實(shí)現(xiàn)幀動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Android Studio實(shí)現(xiàn)幀動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11android使用RxJava實(shí)現(xiàn)預(yù)加載
這篇文章主要為大家詳細(xì)介紹了android使用RxJava實(shí)現(xiàn)預(yù)加載的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android動(dòng)態(tài)更新Menu菜單的實(shí)現(xiàn)過程
菜單是用戶界面中最常見的元素之一,使用非常頻繁,下面這篇文章主要給大家介紹了關(guān)于Android動(dòng)態(tài)更新Menu菜單的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Android中ViewPager實(shí)現(xiàn)滑動(dòng)指示條及與Fragment的配合
這篇文章主要介紹了Android中ViewPager實(shí)現(xiàn)滑動(dòng)指示條及與Fragment的配合,使用Fragment實(shí)現(xiàn)ViewPager的滑動(dòng)是一種比較推薦的做法,需要的朋友可以參考下2016-03-03