Presenter在onClick中没有调用



当尝试以这种方式将演示器膨胀并设置为我的数据绑定组件时,我的演示器方法不会被调用。

val fragmentBinding = FragmentListEditBinding.inflate(layoutInflater)
fragmentBinding.presenter = ListEditorPresenter(this, requireContext())

但是当使用

val fragmentBinding = DataBindingUtil.setContentView<FragmentListEditBinding(requireActivity(), R.layout.fragment_list_edit)    
fragmentBinding.presenter = ListEditorPresenter(this, requireContext())

它工作得很好,但是布局覆盖了整个屏幕。有什么办法解决这个问题吗?

如果需要更多的上下文,请告诉我。

第二个方法是用于活动,而不是用于片段,对于片段,您必须在第一个方法中执行。

在DataBinding和ViewBinding之前,在和activity中,我们调用setContentView(R.layout.activity_main)来为activity设置视图,但对于fragment,我们覆盖onCreateView方法并膨胀视图并返回它。

所以activityfragment的视图设置方式从一开始就不一样了。

所以DataBindingUtil.setContentView是为活动制作的,而FragmentListEditBinding.inflate自定义/手动膨胀是为碎片制作的。正如我在上面已经提到过的。

最新更新