Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何更新选项菜单项图标?_Android_Kotlin_Android Actionbar - Fatal编程技术网

Android 如何更新选项菜单项图标?

Android 如何更新选项菜单项图标?,android,kotlin,android-actionbar,Android,Kotlin,Android Actionbar,这是我的代码,我想根据我在服务器中请求的数据更新菜单项图标,这就是为什么我需要访问onViewCreated中的菜单项,因为我认为我现在所做的解决方案与观察OnPrepareOptions菜单中的数据不符 override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { super.onCreateOptionsMenu(menu, inflater) inflater.inflate(R.menu.

这是我的代码,我想根据我在服务器中请求的数据更新菜单项图标,这就是为什么我需要访问onViewCreated中的菜单项,因为我认为我现在所做的解决方案与观察OnPrepareOptions菜单中的数据不符

  override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
    super.onCreateOptionsMenu(menu, inflater)
    inflater.inflate(R.menu.menu_favorite, menu)
  }


override fun onPrepareOptionsMenu(menu: Menu) {
    super.onPrepareOptionsMenu(menu)
    viewModel.favorite
        .observe(viewLifecycleOwner, Observer {
          if (it.data != null) {
            menu.findItem(R.id.action_favorite)?.icon = true
          }
        })
  }
检查此答案的可能副本:检查此答案的可能副本: