模型類:
產品串列 :
data class ProductList (
var error : Boolean? = null,
var total : String? = null,
var total_page_no : Int? = null,
var current_page_no : Int? = null,
var data : ArrayList<Products> = arrayListOf()
)
產品 :
@Entity(tableName = "Product")
data class Products (
@PrimaryKey(autoGenerate = false)
@ColumnInfo(name = "id")
var id : Int = 0,
@ColumnInfo(name = "name")
var name : String? = null,
@ColumnInfo(name = "variants")
var variants : List<Variants> = listOf()
)
變體:
@Entity(tableName = "Variant")
data class Variants (
@PrimaryKey(autoGenerate = false)
@ColumnInfo(name = "id")
var id : Int = 0,
@ColumnInfo(name = "product_id", index = true)
var product_id : Int? = null,
@ColumnInfo(name = "measurement")
var measurement : String? = null,
@ColumnInfo(name = "discounted_price")
var discounted_price : String? = null,
@ColumnInfo(name = "cart_count")
var cart_count : String? = null,
@ColumnInfo(name = "is_notify_me")
var is_notify_me : Boolean? = null
)
現在我想將所有產品存盤在 Products Variable 中,例如( var products = listofallProducts )
并將所有變體存盤在 Variants 變數中,例如( var variables = listofallVariants )
我已經嘗試過這樣的:
for (i in 0 until response.data.size) {
val product: Products = response.data.get(i)
for (j in 0 until product.variants.size) {
variants = product.variants.get(j)
}
}
但它不起作用...
uj5u.com熱心網友回復:
由于您response.data
的退貨清單Product
可以輕松獲得所有產品
val products: List<Product> = response.data
并將所有變體存盤到一個串列中,我們可以做這樣的事情
val variants: List<Variant> = response.data.map { it.variants }.flatten()
uj5u.com熱心網友回復:
一個變數一次只能參考一件事。如果你想要多個東西,你應該使用像 MutableList 這樣的可變集合型別作為變數的值,然后將每個專案添加到該集合中。
在這種情況下, product.variants 已經是一個串列,因此您可以創建一個 List 變數并在沒有 for 回圈的情況下復制它variants = product.variants
:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/505809.html