gpt4 book ai didi

android - 缺少必需的参数 "name"并且没有 android :defaultValue

转载 作者:行者123 更新时间:2023-12-02 13:11:36 25 4
gpt4 key购买 nike

我的代码有问题我试图在 fragment 之间传递参数,但它给出了一个异常
java.lang.IllegalArgumentException: Required argument "name" is missing and does not have an android:defaultValue运行时。我仍然是一个初学者,所以我不能真正说出问题出在哪里。

class ListNotesFragment : Fragment() {

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {

val binding = DataBindingUtil.inflate<FragmentListNotesBinding>(inflater, R.layout.fragment_list_notes, container, false)

val application = requireNotNull(this.activity).application

val args = ListNotesFragmentArgs.fromBundle(arguments!!).name

val dataSource = NoteDatabase.getInstance(application).noteDatabaseDao

val viewModelFactory = ListNoteViewModelFactory(args, dataSource)

val listNoteViewModel = ViewModelProviders.of(this, viewModelFactory).get(ListNoteViewModel::class.java)

binding.listNoteViewModel = listNoteViewModel

binding.lifecycleOwner = this

binding.addButton.setOnClickListener{
this.findNavController().navigate(R.id.action_listNotesFragment_to_detailNoteFragment)
}

listNoteViewModel.navigateToDetailNoteFragment.observe(viewLifecycleOwner, Observer{
it?.let {
this.findNavController().navigate(ListNotesFragmentDirections
.actionListNotesFragmentToDetailNoteFragment(it.noteId))

listNoteViewModel.doneNavigating()
}
})

return binding.root
}

}

最佳答案

所以你的问题是这一行:

val args = ListNotesFragmentArgs.fromBundle(arguments!!).name

保护自己的方法 是设置一个 defaultValue在您的 nav_graph.xml 参数中,它看起来像这样:
<argument
android:name="name"
app:argType="string"
app:nullable="true"
android:defaultValue="@null"/>

关于android - 缺少必需的参数 "name"并且没有 android :defaultValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61247655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com