我需要设置所选类别的名称,下面是我通过单击调用的类别对象代码和方法。感谢您的帮助。
类别项目对象:
@Entity(tableName = "category_table")
@Parcelize
data class CategoryItem(
val categoryName: String,
val categoryNumber: Int,
val categoryShown: Boolean = false,
@PrimaryKey(autoGenerate = true) var id: Int = 0
) : Parcelable {
}
在菜单中:
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.action_cat1 -> {
viewModel.onChooseCategoryClick(1)
true
}
R.id.action_cat2 -> {
viewModel.onChooseCategoryClick(2)
true
}
ViewModel 中的 onChooseCategoryClick():
fun onChooseCategoryClick(chosenCategory: Int) = viewModelScope.launch {
preferencesManager.updateCategoryChosen(chosenCategory)
// what to type here
}
在偏好管理器中:
suspend fun updateCategoryChosen(categoryChosen: Int) {
dataStore.edit { preferences ->
preferences[PreferencesKeys.CATEGORY_CHOSEN] = categoryChosen
}
}