微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我有显示来自 XML 字符串的项目的微调器我想使用 kotlin 从房间数据库中获取项目吗?

如何解决我有显示来自 XML 字符串的项目的微调器我想使用 kotlin 从房间数据库中获取项目吗?

我已经有表命名的类,我在其中存储了带有 Id 的类。我想在从微调器中选择课程时将学生添加到学生表中。微调器应该添加我已经添加的类。

viewmodel 的代码..

@InternalCoroutinesApi
class Classwiseviewmodel(application: Application): Androidviewmodel(application) {

    val readAllData: LiveData<List<Classwise>>
    private val repository: ClasswiseRepository

    init {
        val classsDao = Userdatabase.getDatabase(
            application
        ).classsDao()
        repository = ClasswiseRepository(classsDao)
        readAllData = repository.readAllData
    }
    fun addClasss(classwise: Classwise){
        viewmodelScope.launch(dispatchers.IO) {
            repository.addClasss(classwise)
        }
    }
}

复制代码

class ClasswiseRepository(private val classwiseDao: ClasswiseDao) {

    val readAllData: LiveData<List<Classwise>> = classwiseDao.readAllData()


    suspend fun addClasss(classwise: Classwise){
        classwiseDao.addClasss(classwise)
    }

    suspend fun updateClassst(classwise: Classwise){
        classwiseDao.updateClasss(classwise)
    }

    suspend fun deleteClasss(classwise: Classwise){
        classwiseDao.deleteClasss(classwise)
    }
}

Dao 代码

@Dao
interface ClasswiseDao {

    @Insert(onConflict = OnConflictStrategy.IGnorE)
    suspend fun addClasss(classwise: Classwise)

    @Update
    suspend fun updateClasss(classwise: Classwise)

    @Delete
    suspend fun deleteClasss(classwise: Classwise)

    @Query("DELETE FROM class_table")
    suspend fun deleteallClassses()

    @Query("SELECT * FROM class_table ORDER BY CID ASC")
    fun readAllData(): LiveData<List<Classwise>>
}

Fragment 中的 Spinner 代码

view.classspinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
            override fun onItemSelected(
                parent: AdapterView<*>?,view: View,position: Int,id: Long
            ) {
                // do something upon option selection
            }
            override fun onnothingSelected(parent: AdapterView<*>?) {
                // can leave this empty
            }
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。