我有一個字串串列,我想以線性布局創建按鈕,其文本來自該串列。我在 XML 檔案中的線性布局是:
...other stuff...
<LinearLayout
android:id="@ id/my_linear_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"/>
然后在onCreate我有以下代碼:
buttons = viewModel.myLiveDataList.value!!.map {
val button = Button(binding.myLinearLayout.context)
button.layoutParams = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT)
button.text = it.displayName
return button
}
我覺得我這樣做不對,因為我從不呼叫addView線性布局,我見過的所有示例都這樣做,但是當我嘗試呼叫時,addView我收到關于按鈕已經有父級的錯誤。
此代碼的結果是該片段僅顯示一個按鈕,其文本是串列的第一個條目。它不顯示線性布局之前存在的“其他東西”,也不顯示串列中任何其他條目的按鈕。
我已經通過日志驗證串列本身確實有多個條目,但 map 函式只在第一個條目上執行,我不知道為什么視圖中的其他所有內容都被洗掉了,我只有一個按鈕。
誰能向我解釋我做錯了什么?
編輯:根據要求,我最初嘗試遵循
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/395905.html
上一篇:QtC QNetworkRequest沒有發出任何請求
下一篇:縮放ImageView并保持邊距
