Android - 使用安全参数传递参数
Android - Pass Argument with safe args
在一个 activity 中,两个片段在切换时正在传递一些字符串。
大厅碎片
button.setOnClickListener {
LobbyFragmentDirections.actionLobbyFToGameF(myTitle)
findNavController(requireActivity(), R.id.fragment_container_view).navigate(R.id.gameFragment)
}
游戏片段
private val args: GameFragmentArgs by navArgs()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_game, container, false)
UseArgument(args.argumentTitle)
}
导航图:游戏片段属性
问题
在获取游戏片段 onViewCreated
中的参数时,它会抛出一个 java.lang.IllegalArgumentException: Required argument "argumentTitle" is missing
button.setOnClickListener {
val dir = LobbyFragmentDirections.actionLobbyFToGameF(myTitle)
findNavController().navigate(dir)
}
在一个 activity 中,两个片段在切换时正在传递一些字符串。
大厅碎片
button.setOnClickListener {
LobbyFragmentDirections.actionLobbyFToGameF(myTitle)
findNavController(requireActivity(), R.id.fragment_container_view).navigate(R.id.gameFragment)
}
游戏片段
private val args: GameFragmentArgs by navArgs()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_game, container, false)
UseArgument(args.argumentTitle)
}
导航图:游戏片段属性
问题
在获取游戏片段 onViewCreated
中的参数时,它会抛出一个 java.lang.IllegalArgumentException: Required argument "argumentTitle" is missing
button.setOnClickListener {
val dir = LobbyFragmentDirections.actionLobbyFToGameF(myTitle)
findNavController().navigate(dir)
}