使用Fragment选项卡调整模型视图Presenter模式到Android

我正在从Windows Mobile移植到Android应用程序,我遇到了一些问题。 现有的应用程序使用MVP模式,并有不同的“演示者”类,它们将被重用在端口中(这是一个相当广泛的应用程序,重写它是不可能的,而C#代码全部使用单声道for android )。 这些视图实现了一个接口,在android中我通过创build实现适当接口的活动来实现一个接口,实例化一个演示者并将自己作为parameter passing。 这一切似乎为我们的目的正常工作,或者直到冰淇淋三明治出来,我试图用碎片来实现它。

相当多的活动利用标签,并为了使用操作栏和其他一些新function,我试图将选项卡式的活动转换为带有viewpager的标签片段,这就是我遇到的一些问题。 从我读过的将每个选项卡实现为一个片段似乎是首选的方法,但是我对如何让演示者通过活动与片段进行通信感到困惑。 此时主持人调用活动的接口方法,然后直接访问spinners,textviews等来获取和设置所需的值。由于每个这些UI元素在活动中声明,这是微不足道的。 如果我将所有这些UI元素移动到片段中,但是如果不在每个活动和片段之间实现一组全新的接口,就不能访问它们。 我已经尝试在活动中生成一个引用到UI元素的片段(通过获取片段根视图,然后find我想要的视图内),但viewpager并不总是加载片段,所以这将无法正常工作,甚至当它加载它们时,布局不会膨胀直到活动处于运行状态,所以我总是得到空值返回。

我知道这是一个奇怪的问题,但我怎么能让我的演示者类与现在存储在单独的片段标签中的UI元素进行交互? 我觉得我必须以完全错误的方式去解决这个问题,但是我不知道应该怎么做,所以如果任何人能够提出一些build议,我该如何去做,那将是很棒的。

非常感谢

Solutions Collecting From Web of "使用Fragment选项卡调整模型视图Presenter模式到Android"