我正在学习Android版的模型视图演示器
我已经通过了许多教程和示例,但似乎没有证明我们应该如何提供片段参数。
让我来看看我的意思
的例子BurgerListFragment
此片段显示了汉堡的RecyclerView。底层适配器包含一个表示汉堡的对象数组。
BurgerDetailFragment
当我们点击来自BurgerListFragment
的汉堡时,此事件会传递给我们的演示者,然后该演示者会回传给应显示BurgerDetailFragment
的视图。
但是,我们必须传递BurgerDetailFragment
被点击的汉堡对象。
通常情况就是这样
public static BurgerDetailFragment newInstance(Burger burger){
BurgerDetailFragment burgerDetailFragment = new BurgerDetailFragment();
Bundle args = new Bundle();
args.putParcelable(BURGER_KEY,burger);
burgerDetailFragment.setArguments(args);
return burgerDetailFragment;
}
然而,我的困惑来自于BurgerListFragment
由演示者告知显示BurgerDetailFragment
,因为它从模型中获取数据以提供给另一个视图,并且视图不应该与模型通信!
如果您有任何疑问,请告诉我
注1 在我的例子中,我知道两个片段直接相互通信是不好的,但它只是针对这个样本,实际上是另一天我有另一个问题!< / p>