新聞中心
這篇文章主要為大家展示了“Android自定義LinearLayout布局顯示不完整怎么辦”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Android自定義LinearLayout布局顯示不完整怎么辦”這篇文章吧。
目前創(chuàng)新互聯(lián)建站已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、保康網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
發(fā)現(xiàn)問(wèn)題
原需求,在一個(gè)伸縮列表中,自定義LinearLayout繼承LinearLayout動(dòng)態(tài)添加布局。
然而實(shí)現(xiàn)的時(shí)候:一共遍歷了30條數(shù)據(jù),卻只顯示了一條
斷點(diǎn)查看代碼:遍歷addView()
這個(gè)過(guò)程是正常的30次循環(huán)。那是布局的問(wèn)題?
感覺(jué)沒(méi)毛病。。。試著在自定義布局外層再加一層LinearLayout垂直方向,wrap_content和match_parent?都試了依舊無(wú)效
毛發(fā)都被抓掉了好幾根
。
。
只能谷歌,找度娘了
終于翻到這個(gè)Android - 自定義View不顯示,非常感謝作者~
Android - 自定義View不顯示
說(shuō)明:
自定義了一個(gè)LinearLayout,顯示不出來(lái)
原因是必須有
public ManDaoH5View(Context context, AttributeSet attrs) {
這個(gè)方法是自定義LinearLayout初始化調(diào)用的方法,LinearLayout自己的屬性也必須寫再這個(gè)方法里面否則屬性也會(huì)不起作用,例如:setOrientation(VERTICAL);
代碼:
public class ManDaoH5View extends LinearLayout { public ManDaoH5View(Context context, AttributeSet attrs) {//這個(gè)方法必須有,否則自定義的LinearLayout不會(huì)顯示 super(context, attrs); setOrientation(VERTICAL);//水平排布(自身布局屬性必須寫在這里,寫在別的地方會(huì)不起作用) //initChild(context, url);//這一行不要加,別的地方引用這個(gè)布局,就會(huì)運(yùn)行這個(gè)方法,此時(shí)webview還沒(méi)有連接,會(huì)出錯(cuò) } }
解決方案兩種!
一:布局文件中添加。。。自定義的LinearLayout也是Liearlayout呀,怎么能把它的方向忘了呢?
二:在構(gòu)造方法中添加:
如果你是直接new這個(gè)自定義View就在一個(gè)參數(shù)的構(gòu)造方法添加;如果你是在xml中引用這個(gè)自定義view便在兩個(gè)參數(shù)的構(gòu)造方法中引用;三參數(shù)的構(gòu)造方法忘記是什么情況調(diào)用了(o(╯□╰)o)
setOrientation(VERTICAL);
后記:前面的在xml中再嵌套一層布局,曾經(jīng)解決過(guò)這個(gè)問(wèn)題,所以雖然這次沒(méi)解決問(wèn)題也寫了出來(lái)。可能那時(shí)候繼承的是view或其他的,所以如果有伙伴在構(gòu)造中或xml加了方向的屬性不起作用可以試試這個(gè)。
以上是“Android自定義LinearLayout布局顯示不完整怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文名稱:Android自定義LinearLayout布局顯示不完整怎么辦
當(dāng)前網(wǎng)址:http://ef60e0e.cn/article/iggipi.html