如何在使用Android分页库时添加复选框&;房间

如何在使用Android分页库时添加复选框&;房间,android,kotlin,android-jetpack,android-paging,android-paging-library,Android,Kotlin,Android Jetpack,Android Paging,Android Paging Library,我正在使用Android分页库+房间库 @Entity data class Customer { @PrimaryKey(autoGererate = true) val id: Long, val name: String } @Dao interface CustomerDao { @Query("SELECT * FROM Customer") fun get(): DataSource.Factory<Int, Customer> }

我正在使用Android分页库+房间库

@Entity
data class Customer {
  @PrimaryKey(autoGererate = true) 
  val id: Long,
  val name: String
}

@Dao
interface CustomerDao {
 @Query("SELECT * FROM Customer")
 fun get(): DataSource.Factory<Int, Customer>
}
如何将DataSource.Factory从房间db的dao更改为CheckableCustomer

我想将Customer更改为CheckableCustomer并使用PagedListAdapter(回调)

或者,使用room数据库datasource和checkbox有什么好的解决方案吗

// in fragment
viewModel.selected.observe(lifecyclerOwner, Observer {
  adapter.selectedCustomers = it
})

// in adapter
 var selectedCustomers: List<Customer>()
 set(value) {
    for (i in until itemCount) {
      getItem(i)?.id?.let {
         if (selected item id is changed) {
             notifyItemChanged(i)
         }
      }
   }
 }
  data class CheckableCustomer {
    val customer: Customer,
    val isChecked: Boolean
  }