国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android ListView 和ScroolView 出現(xiàn)onmeasure空指針的解決辦法

2019-10-23 19:45:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

ListView 和ScroolView同時(shí)使用計(jì)算高度時(shí)onmeasure報(bào)空指針的解決辦法

前言:

雖然Android 的設(shè)計(jì)者始終認(rèn)為L(zhǎng)istView、GridView+ScroolView組合使用并不是一種比較好的實(shí)現(xiàn)方法。但是在我們開(kāi)發(fā)過(guò)程中又會(huì)經(jīng)常使用到這樣的需求,特別是在適配小屏幕手機(jī)的時(shí)候又必須要用這種讓人不接受的設(shè)計(jì),下面就來(lái)說(shuō)一下在計(jì)算ListView或者GridView的過(guò)程中會(huì)出現(xiàn)onmeasure空指針的問(wèn)題。

解決辦法

當(dāng)我發(fā)現(xiàn)listItem.measure(0,0)報(bào)空指針異常的時(shí)候,第一反應(yīng)是listItem報(bào)空指針,然而debug調(diào)試過(guò)后發(fā)現(xiàn)其不為null,這個(gè)時(shí)候就比較費(fèi)解了。

通過(guò)查看官方API和一些資料查找后發(fā)現(xiàn)了幕后的原因,其主要原因跟Linearlayout的機(jī)制有關(guān),原因是因?yàn)橹挥蠰inearlayout重寫(xiě)了onmeasure這個(gè)方法,而android的其他的4種布局均沒(méi)有重寫(xiě)onmeasure方法,想到這里,這個(gè)問(wèn)題就不解自破了。既然要用到measure計(jì)算高度,那么我們就只能用Linearlayout布局了,所有解決這個(gè)問(wèn)題的辦法就是把你對(duì)應(yīng)的適配器(adapter)里的其他布局改成Linearlayout就OK了。

自從跟進(jìn)了這個(gè)問(wèn)題之后,我最近也在尋找新的方式取代這種ListView 和ScroolView同時(shí)使用的情況,研究出來(lái)后會(huì)第一時(shí)間分享給大家。希望這篇博客能幫助大家解決這個(gè)問(wèn)題。

總結(jié)

把a(bǔ)dapter中的布局改成Linearlayout即可。原因如上。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開(kāi)發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 积石山| 耿马| 古交市| 高陵县| 旬阳县| 临泉县| 大名县| 天水市| 通城县| 南澳县| 淄博市| 玉环县| 滨州市| 合川市| 龙川县| 哈尔滨市| 青神县| 信宜市| 奈曼旗| 普兰店市| 波密县| 英德市| 祥云县| 南皮县| 宽城| 迁西县| 永宁县| 额尔古纳市| 巴林左旗| 界首市| 祁门县| 诸城市| 胶南市| 金湖县| 泗阳县| 朔州市| 凭祥市| 财经| 宁乡县| 石林| 绥化市|