我有一个带有RecyclerView播客的屏幕,单击该按钮时,它将带您到该特定播客的详细屏幕。使用Kodein进行ViewModel注入,如何将从列表片段中单击的播客的ID传递到详细信息片段的ViewModel,以便可以从API中获取它?
详细的ViewModel结构如下:
class PodcastDetailViewModel internal constructor(
private val podcastRepository: PodcastRepository,
podcastId: String = ""
): ViewModel() {
// viewmodel stuff
}
详细片段如下:
class PodcastDetailFragment : ScopedFragment(), KodeinAware {
override val kodein by closestKodein()
private val args: PodcastDetailFragmentArgs by navArgs()
private val viewModelFactory: PodcastDetailViewModelFactory by kodein.newInstance { PodcastDetailViewModelFactory(args.podcastId, instance()) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel = viewModelFactory.create(PodcastDetailViewModel::class.java)
}
// other stuff
}
这是我从列表导航到详细信息屏幕的方式:
private fun navigateToPodcastDetailFragment(podcastId: String) {
val args = Bundle()
args.putString("podcast_id", podcastId)
val directions =
TopPodcastsFragmentDirections.viewPodcastDetails(
podcastId
)
val extras = FragmentNavigatorExtras(
podcast_image to "podcastImage_$podcastId"
)
Navigation.findNavController(requireActivity(), R.id.nav_host_fragment)
.navigate(directions, extras)
}
这是我的绑定方式:
bind() from provider { PodcastDetailViewModelFactory(instance(), instance()) }
我不确定如何在ViewModelFactory构造函数中绑定该字符串参数,或者如何将数据传递到那里,因此我们将不胜感激。
答案 0 :(得分:2)
您可以使用工厂进行绑定:
bind() from factory { podcastId: String ->
PodcastDetailViewModelFactory(podcastId, instance())
}
通过以下方式现场调用:
private val viewModelFactory: PodcastDetailViewModelFactory by instance(arg = args.podcastId)
希望这会有所帮助。
答案 1 :(得分:0)
我通过切换到工厂绑定来解决此问题,就像romainbsl建议的那样,但是片段中的调用有些不同。
绑定变为:
bind() from factory { podcastId: String ->
PodcastDetailViewModelFactory(podcastId, instance())
}
,现场电话变为:
private val viewModelFactory: PodcastDetailViewModelFactory by instance(arg = args.podcastId)
答案 2 :(得分:0)
试试这个
Unable to load msg [custom_msg_python/SensorInformation]: Cannot locate message [SensorInformation]: unknown package [custom_msg_python] on search path
[
{
"rosconsole":[
"/opt/ros/melodic/share/rosconsole/msg"
],
"compressed_depth_image_transport":[
"/opt/ros/melodic/share/compressed_depth_image_transport/msg"
],
"catkin":[
"/opt/ros/melodic/share/catkin/msg"
],
"rviz_visual_tools":[
"/opt/ros/melodic/share/rviz_visual_tools/msg"
],
"moveit_planners_chomp":[
"/opt/ros/melodic/share/moveit_planners_chomp/msg"
],
"urdf":[
"/opt/ros/melodic/share/urdf/msg"
],
"rosgraph":[
"/opt/ros/melodic/share/rosgraph/msg"
],
"rqt_py_console":[
"/opt/ros/melodic/share/rqt_py_console/msg"
],
"nodelet_topic_tools":[
"/opt/ros/melodic/share/nodelet_topic_tools/msg"
],
"rqt_graph":[
"/opt/ros/melodic/share/rqt_graph/msg"
],
"nodelet_tutorial_math":[
"/opt/ros/melodic/share/nodelet_tutorial_math/msg"
],
"qt_gui":[
"/opt/ros/melodic/share/qt_gui/msg"
],
"filters":[
"/opt/ros/melodic/share/filters/msg"
],
"ompl":[
"/opt/ros/melodic/share/ompl/msg"
],
"eigen_conversions":[
"/opt/ros/melodic/share/eigen_conversions/msg"
],
"moveit_ros_planning_interface":[
"/opt/ros/melodic/share/moveit_ros_planning_interface/msg"
],
"srdfdom":[
"/opt/ros/melodic/share/srdfdom/msg"
],
"smclib":[
"/opt/ros/melodic/share/smclib/msg"
],
"roslib":[
"/opt/ros/melodic/share/roslib/msg"
],
"geneus":[
"/opt/ros/melodic/share/geneus/msg"
],
"roscpp_serialization":[
"/opt/ros/melodic/share/roscpp_serialization/msg"
],
"diagnostic_msgs":[
"/opt/ros/melodic/share/diagnostic_msgs/msg"
],
"rosbuild":[
"/opt/ros/melodic/share/rosbuild/msg"
],
"rosclean":[
"/opt/ros/melodic/share/rosclean/msg"
],
"tf":[
"/opt/ros/melodic/share/tf/msg"
],
"rqt_publisher":[
"/opt/ros/melodic/share/rqt_publisher/msg"
],
"roslang":[
"/opt/ros/melodic/share/roslang/msg"
],
"geometric_shapes":[
"/opt/ros/melodic/share/geometric_shapes/msg"
],
"smach_ros":[
"/opt/ros/melodic/share/smach_ros/msg"
],
"rqt_web":[
"/opt/ros/melodic/share/rqt_web/msg"
],
"shape_msgs":[
"/opt/ros/melodic/share/shape_msgs/msg"
],
"trajectory_msgs":[
"/opt/ros/melodic/share/trajectory_msgs/msg"
],
"moveit_kinematics":[
"/opt/ros/melodic/share/moveit_kinematics/msg"
],
"diagnostic_aggregator":[
"/opt/ros/melodic/share/diagnostic_aggregator/msg"
],
"image_view":[
"/opt/ros/melodic/share/image_view/msg"
],
"moveit_msgs":[
"/opt/ros/melodic/share/moveit_msgs/msg"
],
"visualization_msgs":[
"/opt/ros/melodic/share/visualization_msgs/msg"
],
"moveit_ros_robot_interaction":[
"/opt/ros/melodic/share/moveit_ros_robot_interaction/msg"
],
"resource_retriever":[
"/opt/ros/melodic/share/resource_retriever/msg"
],
"rqt_topic":[
"/opt/ros/melodic/share/rqt_topic/msg"
],
"laser_filters":[
"/opt/ros/melodic/share/laser_filters/msg"
],
"moveit_resources_panda_moveit_config":[
"/opt/ros/melodic/share/moveit_resources_panda_moveit_config/msg"
],
"rqt_action":[
"/opt/ros/melodic/share/rqt_action/msg"
],
"control_toolbox":[
"/opt/ros/melodic/share/control_toolbox/msg"
],
"rqt_top":[
"/opt/ros/melodic/share/rqt_top/msg"
],
"rqt_rviz":[
"/opt/ros/melodic/share/rqt_rviz/msg"
],
"kdl_parser_py":[
"/opt/ros/melodic/share/kdl_parser_py/msg"
],
"rosgraph_msgs":[
"/opt/ros/melodic/share/rosgraph_msgs/msg"
],
"moveit_ros_planning":[
"/opt/ros/melodic/share/moveit_ros_planning/msg"
],
"rosboost_cfg":[
"/opt/ros/melodic/share/rosboost_cfg/msg"
],
"genmsg":[
"/opt/ros/melodic/share/genmsg/msg"
],
"xacro":[
"/opt/ros/melodic/share/xacro/msg"
],
"turtle_tf2":[
"/opt/ros/melodic/share/turtle_tf2/msg"
],
"rqt_robot_dashboard":[
"/opt/ros/melodic/share/rqt_robot_dashboard/msg"
],
"pluginlib":[
"/opt/ros/melodic/share/pluginlib/msg"
],
"rqt_msg":[
"/opt/ros/melodic/share/rqt_msg/msg"
],
"gazebo_dev":[
"/opt/ros/melodic/share/gazebo_dev/msg"
],
"gl_dependency":[
"/opt/ros/melodic/share/gl_dependency/msg"
],
"rqt_service_caller":[
"/opt/ros/melodic/share/rqt_service_caller/msg"
],
"rqt_gui_py":[
"/opt/ros/melodic/share/rqt_gui_py/msg"
],
"xmlrpcpp":[
"/opt/ros/melodic/share/xmlrpcpp/msg"
],
"rosmaster":[
"/opt/ros/melodic/share/rosmaster/msg"
],
"qt_dotgraph":[
"/opt/ros/melodic/share/qt_dotgraph/msg"
],
"warehouse_ros":[
"/opt/ros/melodic/share/warehouse_ros/msg"
],
"rosnode":[
"/opt/ros/melodic/share/rosnode/msg"
],
"rqt_pose_view":[
"/opt/ros/melodic/share/rqt_pose_view/msg"
],
"bond":[
"/opt/ros/melodic/share/bond/msg"
],
"self_test":[
"/opt/ros/melodic/share/self_test/msg"
],
"laser_assembler":[
"/opt/ros/melodic/share/laser_assembler/msg"
],
"rospack":[
"/opt/ros/melodic/share/rospack/msg"
],
"transmission_interface":[
"/opt/ros/melodic/share/transmission_interface/msg"
],
"image_rotate":[
"/opt/ros/melodic/share/image_rotate/msg"
],
"chomp_motion_planner":[
"/opt/ros/melodic/share/chomp_motion_planner/msg"
],
"rqt_image_view":[
"/opt/ros/melodic/share/rqt_image_view/msg"
],
"roslisp":[
"/opt/ros/melodic/share/roslisp/msg"
],
"rqt_console":[
"/opt/ros/melodic/share/rqt_console/msg"
],
"mk":[
"/opt/ros/melodic/share/mk/msg"
],
"rviz_plugin_tutorials":[
"/opt/ros/melodic/share/rviz_plugin_tutorials/msg"
],
"tf2_msgs":[
"/opt/ros/melodic/share/tf2_msgs/msg"
],
"python_qt_binding":[
"/opt/ros/melodic/share/python_qt_binding/msg"
],
"laser_geometry":[
"/opt/ros/melodic/share/laser_geometry/msg"
],
"rviz":[
"/opt/ros/melodic/share/rviz/msg"
],
"gencpp":[
"/opt/ros/melodic/share/gencpp/msg"
],
"rqt_gui_cpp":[
"/opt/ros/melodic/share/rqt_gui_cpp/msg"
],
"rqt_bag":[
"/opt/ros/melodic/share/rqt_bag/msg"
],
"rqt_gui":[
"/opt/ros/melodic/share/rqt_gui/msg"
],
"qt_gui_py_common":[
"/opt/ros/melodic/share/qt_gui_py_common/msg"
],
"graph_msgs":[
"/opt/ros/melodic/share/graph_msgs/msg"
],
"roscpp_traits":[
"/opt/ros/melodic/share/roscpp_traits/msg"
],
"rosout":[
"/opt/ros/melodic/share/rosout/msg"
],
"diagnostic_common_diagnostics":[
"/opt/ros/melodic/share/diagnostic_common_diagnostics/msg"
],
"rostopic":[
"/opt/ros/melodic/share/rostopic/msg"
],
"smach_msgs":[
"/opt/ros/melodic/share/smach_msgs/msg"
],
"message_generation":[
"/opt/ros/melodic/share/message_generation/msg"
],
"moveit_tutorials":[
"/home/sanket/ws_moveit/src/moveit_tutorials/msg",
"/home/sanket/ws_moveit/devel/share/moveit_tutorials/msg"
],
"camera_calibration":[
"/opt/ros/melodic/share/camera_calibration/msg"
],
"ros_environment":[
"/opt/ros/melodic/share/ros_environment/msg"
],
"qwt_dependency":[
"/opt/ros/melodic/share/qwt_dependency/msg"
],
"polled_camera":[
"/opt/ros/melodic/share/polled_camera/msg"
],
"joy":[
"/opt/ros/melodic/share/joy/msg"
],
"rostime":[
"/opt/ros/melodic/share/rostime/msg"
],
"urdf_tutorial":[
"/opt/ros/melodic/share/urdf_tutorial/msg"
],
"kdl_conversions":[
"/opt/ros/melodic/share/kdl_conversions/msg"
],
"rqt_nav_view":[
"/opt/ros/melodic/share/rqt_nav_view/msg"
],
"roslint":[
"/opt/ros/melodic/share/roslint/msg"
],
"rosservice":[
"/opt/ros/melodic/share/rosservice/msg"
],
"moveit_ros_manipulation":[
"/opt/ros/melodic/share/moveit_ros_manipulation/msg"
],
"rosunit":[
"/opt/ros/melodic/share/rosunit/msg"
],
"turtle_tf":[
"/opt/ros/melodic/share/turtle_tf/msg"
],
"roscpp_tutorials":[
"/opt/ros/melodic/share/roscpp_tutorials/msg"
],
"turtle_actionlib":[
"/opt/ros/melodic/share/turtle_actionlib/msg"
],
"python_orocos_kdl":[
"/opt/ros/melodic/share/python_orocos_kdl/msg"
],
"stage":[
"/opt/ros/melodic/share/stage/msg"
],
"moveit_core":[
"/opt/ros/melodic/share/moveit_core/msg"
],
"visualization_marker_tutorials":[
"/opt/ros/melodic/share/visualization_marker_tutorials/msg"
],
"bondcpp":[
"/opt/ros/melodic/share/bondcpp/msg"
],
"rosconsole_bridge":[
"/opt/ros/melodic/share/rosconsole_bridge/msg"
],
"pluginlib_tutorials":[
"/opt/ros/melodic/share/pluginlib_tutorials/msg"
],
"forward_command_controller":[
"/opt/ros/melodic/share/forward_command_controller/msg"
],
"camera_info_manager":[
"/opt/ros/melodic/share/camera_info_manager/msg"
],
"camera_calibration_parsers":[
"/opt/ros/melodic/share/camera_calibration_parsers/msg"
],
"roslz4":[
"/opt/ros/melodic/share/roslz4/msg"
],
"rqt_dep":[
"/opt/ros/melodic/share/rqt_dep/msg"
],
"moveit_resources_panda_description":[
"/opt/ros/melodic/share/moveit_resources_panda_description/msg"
],
"rosmsg":[
"/opt/ros/melodic/share/rosmsg/msg"
],
"moveit_simple_controller_manager":[
"/opt/ros/melodic/share/moveit_simple_controller_manager/msg"
],
"turtlesim":[
"/opt/ros/melodic/share/turtlesim/msg"
],
"rqt_robot_monitor":[
"/opt/ros/melodic/share/rqt_robot_monitor/msg"
],
"rosparam":[
"/opt/ros/melodic/share/rosparam/msg"
],
"controller_interface":[
"/opt/ros/melodic/share/controller_interface/msg"
],
"diagnostic_analysis":[
"/opt/ros/melodic/share/diagnostic_analysis/msg"
],
"stereo_msgs":[
"/opt/ros/melodic/share/stereo_msgs/msg"
],
"pcl_msgs":[
"/opt/ros/melodic/share/pcl_msgs/msg"
],
"interactive_markers":[
"/opt/ros/melodic/share/interactive_markers/msg"
],
"object_recognition_msgs":[
"/opt/ros/melodic/share/object_recognition_msgs/msg"
],
"diagnostic_updater":[
"/opt/ros/melodic/share/diagnostic_updater/msg"
],
"pybind11_catkin":[
"/opt/ros/melodic/share/pybind11_catkin/msg"
],
"panda_moveit_config":[
"/home/sanket/ws_moveit/src/panda_moveit_config/msg",
"/home/sanket/ws_moveit/devel/share/panda_moveit_config/msg"
],
"pcl_conversions":[
"/opt/ros/melodic/share/pcl_conversions/msg"
],
"rviz_python_tutorial":[
"/opt/ros/melodic/share/rviz_python_tutorial/msg"
],
"tf2":[
"/opt/ros/melodic/share/tf2/msg"
],
"rqt_runtime_monitor":[
"/opt/ros/melodic/share/rqt_runtime_monitor/msg"
],
"urdf_sim_tutorial":[
"/opt/ros/melodic/share/urdf_sim_tutorial/msg"
],
"position_controllers":[
"/opt/ros/melodic/share/position_controllers/msg"
],
"rospy":[
"/opt/ros/melodic/share/rospy/msg"
],
"rosbash":[
"/opt/ros/melodic/share/rosbash/msg"
],
"rqt_reconfigure":[
"/opt/ros/melodic/share/rqt_reconfigure/msg"
],
"rqt_bag_plugins":[
"/opt/ros/melodic/share/rqt_bag_plugins/msg"
],
"image_publisher":[
"/opt/ros/melodic/share/image_publisher/msg"
],
"eigenpy":[
"/opt/ros/melodic/share/eigenpy/msg"
],
"rqt_plot":[
"/opt/ros/melodic/share/rqt_plot/msg"
],
"topic_tools":[
"/opt/ros/melodic/share/topic_tools/msg"
],
"rostest":[
"/opt/ros/melodic/share/rostest/msg"
],
"control_msgs":[
"/opt/ros/melodic/share/control_msgs/msg"
],
"tf_conversions":[
"/opt/ros/melodic/share/tf_conversions/msg"
],
"interactive_marker_tutorials":[
"/opt/ros/melodic/share/interactive_marker_tutorials/msg"
],
"cpp_common":[
"/opt/ros/melodic/share/cpp_common/msg"
],
"nodelet":[
"/opt/ros/melodic/share/nodelet/msg"
],
"actionlib_msgs":[
"/opt/ros/melodic/share/actionlib_msgs/msg"
],
"stage_ros":[
"/opt/ros/melodic/share/stage_ros/msg"
],
"rqt_robot_steering":[
"/opt/ros/melodic/share/rqt_robot_steering/msg"
],
"dynamic_reconfigure":[
"/opt/ros/melodic/share/dynamic_reconfigure/msg"
],
"genpy":[
"/opt/ros/melodic/share/genpy/msg"
],
"actionlib_tutorials":[
"/opt/ros/melodic/share/actionlib_tutorials/msg"
],
"tf2_geometry_msgs":[
"/opt/ros/melodic/share/tf2_geometry_msgs/msg"
],
"compressed_image_transport":[
"/opt/ros/melodic/share/compressed_image_transport/msg"
],
"controller_manager_msgs":[
"/opt/ros/melodic/share/controller_manager_msgs/msg"
],
"rqt_shell":[
"/opt/ros/melodic/share/rqt_shell/msg"
],
"std_msgs":[
"/opt/ros/melodic/share/std_msgs/msg"
],
"realtime_tools":[
"/opt/ros/melodic/share/realtime_tools/msg"
],
"moveit_ros_move_group":[
"/opt/ros/melodic/share/moveit_ros_move_group/msg"
],
"rqt_launch":[
"/opt/ros/melodic/share/rqt_launch/msg"
],
"angles":[
"/opt/ros/melodic/share/angles/msg"
],
"joint_state_controller":[
"/opt/ros/melodic/share/joint_state_controller/msg"
],
"webkit_dependency":[
"/opt/ros/melodic/share/webkit_dependency/msg"
],
"cv_bridge":[
"/opt/ros/melodic/share/cv_bridge/msg"
],
"gazebo_ros":[
"/opt/ros/melodic/share/gazebo_ros/msg"
],
"rosbag_storage":[
"/opt/ros/melodic/share/rosbag_storage/msg"
],
"roswtf":[
"/opt/ros/melodic/share/roswtf/msg"
],
"std_srvs":[
"/opt/ros/melodic/share/std_srvs/msg"
],
"joint_state_publisher_gui":[
"/opt/ros/melodic/share/joint_state_publisher_gui/msg"
],
"moveit_ros_warehouse":[
"/opt/ros/melodic/share/moveit_ros_warehouse/msg"
],
"joint_state_publisher":[
"/opt/ros/melodic/share/joint_state_publisher/msg"
],
"octomap":[
"/opt/ros/melodic/share/octomap/msg"
],
"stereo_image_proc":[
"/opt/ros/melodic/share/stereo_image_proc/msg"
],
"bondpy":[
"/opt/ros/melodic/share/bondpy/msg"
],
"moveit_ros_benchmarks":[
"/opt/ros/melodic/share/moveit_ros_benchmarks/msg"
],
"tf2_kdl":[
"/opt/ros/melodic/share/tf2_kdl/msg"
],
"smach":[
"/opt/ros/melodic/share/smach/msg"
],
"genlisp":[
"/opt/ros/melodic/share/genlisp/msg"
],
"class_loader":[
"/opt/ros/melodic/share/class_loader/msg"
],
"message_filters":[
"/opt/ros/melodic/share/message_filters/msg"
],
"tf2_py":[
"/opt/ros/melodic/share/tf2_py/msg"
],
"hardware_interface":[
"/opt/ros/melodic/share/hardware_interface/msg"
],
"cmake_modules":[
"/opt/ros/melodic/share/cmake_modules/msg"
],
"moveit_ros_visualization":[
"/opt/ros/melodic/share/moveit_ros_visualization/msg"
],
"pcl_ros":[
"/opt/ros/melodic/share/pcl_ros/msg"
],
"nav_msgs":[
"/opt/ros/melodic/share/nav_msgs/msg"
],
"rosmake":[
"/opt/ros/melodic/share/rosmake/msg"
],
"image_proc":[
"/opt/ros/melodic/share/image_proc/msg"
],
"roscpp":[
"/opt/ros/melodic/share/roscpp/msg"
],
"rqt_moveit":[
"/opt/ros/melodic/share/rqt_moveit/msg"
],
"theora_image_transport":[
"/opt/ros/melodic/share/theora_image_transport/msg"
],
"rqt_py_common":[
"/opt/ros/melodic/share/rqt_py_common/msg"
],
"depth_image_proc":[
"/opt/ros/melodic/share/depth_image_proc/msg"
],
"actionlib":[
"/opt/ros/melodic/share/actionlib/msg"
],
"moveit_ros_occupancy_map_monitor":[
"/opt/ros/melodic/share/moveit_ros_occupancy_map_monitor/msg"
],
"franka_description":[
"/opt/ros/melodic/share/franka_description/msg"
],
"octomap_msgs":[
"/opt/ros/melodic/share/octomap_msgs/msg"
],
"qt_gui_cpp":[
"/opt/ros/melodic/share/qt_gui_cpp/msg"
],
"eigen_stl_containers":[
"/opt/ros/melodic/share/eigen_stl_containers/msg"
],
"tf2_ros":[
"/opt/ros/melodic/share/tf2_ros/msg"
],
"librviz_tutorial":[
"/opt/ros/melodic/share/librviz_tutorial/msg"
],
"robot_state_publisher":[
"/opt/ros/melodic/share/robot_state_publisher/msg"
],
"image_geometry":[
"/opt/ros/melodic/share/image_geometry/msg"
],
"moveit_fake_controller_manager":[
"/opt/ros/melodic/share/moveit_fake_controller_manager/msg"
],
"message_runtime":[
"/opt/ros/melodic/share/message_runtime/msg"
],
"image_transport":[
"/opt/ros/melodic/share/image_transport/msg"
],
"diff_drive_controller":[
"/opt/ros/melodic/share/diff_drive_controller/msg"
],
"moveit_commander":[
"/opt/ros/melodic/share/moveit_commander/msg"
],
"gazebo_msgs":[
"/opt/ros/melodic/share/gazebo_msgs/msg"
],
"moveit_visual_tools":[
"/opt/ros/melodic/share/moveit_visual_tools/msg"
],
"roscreate":[
"/opt/ros/melodic/share/roscreate/msg"
],
"moveit_planners_ompl":[
"/opt/ros/melodic/share/moveit_planners_ompl/msg"
],
"rospy_tutorials":[
"/opt/ros/melodic/share/rospy_tutorials/msg"
],
"moveit_ros_control_interface":[
"/opt/ros/melodic/share/moveit_ros_control_interface/msg"
],
"random_numbers":[
"/opt/ros/melodic/share/random_numbers/msg"
],
"gazebo_plugins":[
"/opt/ros/melodic/share/gazebo_plugins/msg"
],
"rqt_srv":[
"/opt/ros/melodic/share/rqt_srv/msg"
],
"urdfdom_py":[
"/opt/ros/melodic/share/urdfdom_py/msg"
],
"map_msgs":[
"/opt/ros/melodic/share/map_msgs/msg"
],
"moveit_setup_assistant":[
"/opt/ros/melodic/share/moveit_setup_assistant/msg"
],
"roslaunch":[
"/opt/ros/melodic/share/roslaunch/msg"
],
"tf2_eigen":[
"/opt/ros/melodic/share/tf2_eigen/msg"
],
"rqt_tf_tree":[
"/opt/ros/melodic/share/rqt_tf_tree/msg"
],
"gazebo_ros_control":[
"/opt/ros/melodic/share/gazebo_ros_control/msg"
],
"moveit_ros_perception":[
"/opt/ros/melodic/share/moveit_ros_perception/msg"
],
"controller_manager":[
"/opt/ros/melodic/share/controller_manager/msg"
],
"rqt_logger_level":[
"/opt/ros/melodic/share/rqt_logger_level/msg"
],
"kdl_parser":[
"/opt/ros/melodic/share/kdl_parser/msg"
],
"gennodejs":[
"/opt/ros/melodic/share/gennodejs/msg"
],
"media_export":[
"/opt/ros/melodic/share/media_export/msg"
],
"geometry_msgs":[
"/opt/ros/melodic/share/geometry_msgs/msg"
],
"urdf_parser_plugin":[
"/opt/ros/melodic/share/urdf_parser_plugin/msg"
],
"joint_limits_interface":[
"/opt/ros/melodic/share/joint_limits_interface/msg"
],
"sensor_msgs":[
"/opt/ros/melodic/share/sensor_msgs/msg"
],
"orocos_kdl":[
"/opt/ros/melodic/share/orocos_kdl/msg"
],
"rosbag":[
"/opt/ros/melodic/share/rosbag/msg"
],
"rosbag_migration_rule":[
"/opt/ros/melodic/share/rosbag_migration_rule/msg"
]
}
]
或
private val viewModel by viewModels<PodcastDetailViewModel> {
val viewModelFactory: PodcastDetailViewModelFactory by instance(arg = args.podcastId)
viewModelFactory
}