AndroidRoom数据库不通知我有关LiveData更改的信息。
创始人
2024-10-09 20:30:39
0次

您可以使用以下代码示例来确保LiveData能够正常通知数据更改:

首先,您需要在DAO接口中声明LiveData对象:

@Dao interface UserDao { @Query("SELECT * FROM user_table") fun getAllUsers(): LiveData> }

然后,在ViewModel中观察LiveData对象,并在数据更改时更新UI:

class UserViewModel(application: Application) : AndroidViewModel(application) { private val userRepository: UserRepository val allUsers: LiveData>

 init {
      val userDao = UserRoomDatabase.getDatabase(application).userDao()
      userRepository = UserRepository(userDao)
      allUsers = userRepository.allUsers
 }

}

最后,在Activity或Fragment中观察LiveData对象并更新UI:

class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding private lateinit var userViewModel: UserViewModel

 override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)

      binding = ActivityMainBinding.inflate(layoutInflater)
      setContentView(binding.root)

      userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)

      userViewModel.allUsers.observe(this, Observer { users ->
           // 更新UI中的用户列表
      })
 }

}

通过这些代码,您应该能够正确地观察LiveData对象和在数据更改时更新UI。

相关内容

热门资讯

教学盘点!番茄大厅辅助器功能工... 教学盘点!番茄大厅辅助器功能工具,番茄大厅总是是有辅助器工具(有辅助挂秘笈)1、金币登录送、破产送、...
分享开挂内幕!大唐棋牌辅助功能... 分享开挂内幕!大唐棋牌辅助功能工具,大唐棋牌确实有辅助工具(有辅助挂功能)分享开挂内幕!大唐棋牌辅助...
必备科技!神赚棋牌开挂功能ap... 必备科技!神赚棋牌开挂功能app,神赚棋牌原来是真的有开挂app(有辅助挂细节)1、超多福利:超高返...
揭秘几款!凑一桌游戏辅助功能脚... 揭秘几款!凑一桌游戏辅助功能脚本,凑一桌游戏都是是有辅助脚本(有辅助挂方略)1、每一步都需要思考,不...
2分钟细说!江山大厅辅助功能教... 2分钟细说!江山大厅辅助功能教程,江山大厅切实是有辅助教程(有辅助挂解惑)1、该软件可以轻松地帮助玩...
查到实测辅助!浙江茶苑辅助器功... 您好,浙江茶苑这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款...
推荐几款新版!榆林打锅子透视功... 推荐几款新版!榆林打锅子透视功能插件,榆林打锅子果然真的是有透视插件(有辅助挂方法)1、全新机制【榆...
一起来探讨!纸牌屋亲友版透视挂... 一起来探讨!纸牌屋亲友版透视挂功能方法,纸牌屋亲友版都是真的是有透视挂方法(有辅助挂秘笈)1、游戏颠...
普及知识!werplan开挂功... 普及知识!werplan开挂功能软件,werplan切实存在有开挂软件(有辅助挂方针)1、玩家可以在...
指导大家!皇冠棋牌透视功能攻略... 指导大家!皇冠棋牌透视功能攻略,皇冠棋牌真是是真的有透视攻略(有辅助挂助手)1、首先打开皇冠棋牌辅助...