欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android自定義LinearLayout布局顯示不完整的解決方法

 更新時(shí)間:2017年11月15日 10:41:56   作者:請(qǐng)叫我財(cái)迷  
這篇文章主要給大家介紹了關(guān)于Android自定義LinearLayout但布局顯示不完整的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

發(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自己的屬性也必須寫(xiě)再這個(gè)方法里面否則屬性也會(huì)不起作用,例如:setOrientation(VERTICAL);

代碼:

public class ManDaoH5View extends LinearLayout { 
 
  public ManDaoH5View(Context context, AttributeSet attrs) {//這個(gè)方法必須有,否則自定義的LinearLayout不會(huì)顯示 
    super(context, attrs); 
    setOrientation(VERTICAL);//水平排布(自身布局屬性必須寫(xiě)在這里,寫(xiě)在別的地方會(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)題也寫(xiě)了出來(lái)。可能那時(shí)候繼承的是view或其他的,所以如果有伙伴在構(gòu)造中或xml加了方向的屬性不起作用可以試試這個(gè)。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論