溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android自定義LinearLayout布局顯示不完整怎么辦

發(fā)布時(shí)間:2021-06-30 11:03:53 來源:億速云 閱讀:324 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要為大家展示了“Android自定義LinearLayout布局顯示不完整怎么辦”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Android自定義LinearLayout布局顯示不完整怎么辦”這篇文章吧。

發(fā)現(xiàn)問題

原需求,在一個(gè)伸縮列表中,自定義LinearLayout繼承LinearLayout動(dòng)態(tài)添加布局。

Android自定義LinearLayout布局顯示不完整怎么辦

然而實(shí)現(xiàn)的時(shí)候:一共遍歷了30條數(shù)據(jù),卻只顯示了一條

Android自定義LinearLayout布局顯示不完整怎么辦

斷點(diǎn)查看代碼:遍歷addView()這個(gè)過程是正常的30次循環(huán)。那是布局的問題?

Android自定義LinearLayout布局顯示不完整怎么辦

感覺沒毛病。。。試著在自定義布局外層再加一層LinearLayout垂直方向,wrap_content和match_parent?都試了依舊無效

Android自定義LinearLayout布局顯示不完整怎么辦

毛發(fā)都被抓掉了好幾根

。

只能谷歌,找度娘了

終于翻到這個(gè)Android - 自定義View不顯示,非常感謝作者~

Android - 自定義View不顯示

說明:

自定義了一個(gè)LinearLayout,顯示不出來

原因是必須有

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還沒有連接,會(huì)出錯(cuò) 
  } 
}

解決方案兩種!

一:布局文件中添加。。。自定義的LinearLayout也是Liearlayout呀,怎么能把它的方向忘了呢?

Android自定義LinearLayout布局顯示不完整怎么辦

二:在構(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);

Android自定義LinearLayout布局顯示不完整怎么辦

后記:前面的在xml中再嵌套一層布局,曾經(jīng)解決過這個(gè)問題,所以雖然這次沒解決問題也寫了出來??赡苣菚r(shí)候繼承的是view或其他的,所以如果有伙伴在構(gòu)造中或xml加了方向的屬性不起作用可以試試這個(gè)。

以上是“Android自定義LinearLayout布局顯示不完整怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI