【发布时间】:2020-09-27 04:52:31
【问题描述】:
我有一个应用程序从 api 获取数据,然后将其保存到 RoomDatabase(RoomTable)。
我在主屏幕中使用 recyclerview 显示这些数据。
正如我所说,我的产品在数据库中的模型室表中(RoomTable 是该表的名称),所以在这种情况下,如何在添加按钮后将我的产品插入到房间数据库中的另一个表(CartTAble)每个产品的点击率?
我希望可以清楚地描述这一点。 谢谢你。
表格:
@entity
class RoomTable (
@primarykey
autoincrement = true
val id : Int
val title : String
@entity
class CartTAble (
@primarykey
autoincrement = true
val id : Int
val title : String
)
道
@Insert(replace strategy)
fun insertToCart(model : List<CartTable)
我也有存储库和视图模型,但为简单起见忽略。
adapter :
class Myadapter (myproduct : List<RoomTAble> ) : Recycerlview.Adapter<Myadapter.Viewholder>(){
val viewmodel : Viewmodelroom()
class Viewholder (view : View ) : RecyclerView.ViewHolder(){
val title = view.findviewbyid(R.id.sometihng)
val image = view.finviewbyid(R.id.Someimage)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val layoutview =
LayoutInflater.from(parent.context).inflate(R.layout.product_items, parent, false)
return ViewHolder(layoutview)
}
override fun getItemCount(): Int = myproduct.size
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val products = myproduct[position]
holder.title.text = products.title
Picasso.get().load(products.image).into(holder.imageproduct)
holder.btn_add_product.setOnClickListener {
viewModel.insertToCart()
// in here for insertTocart paramter it need list<CArtTAble> but we have just list of RoomTAble
}
【问题讨论】: