Android:与Activity / Fragment通信适配器的最佳案例

时间:2016-12-22 09:59:56

标签: android android-adapter mvp event-bus

在MVP模式中,来自用户的操作必须传递给演示者

所以在listView中,当用户点击我希望将此动作发送给演示者时

与Activity / Fragment通信适配器的最佳情况是什么?

如果你解释每个人的优点和内容,我会很感激。

  1. EventBus
  2. 回调

3 个答案:

答案 0 :(得分:0)

您始终可以使用回调进行收听点击。你应该实现使用接口。

答案 1 :(得分:0)

根据您的情况,您可以采用以下方法

Try using an interface

https://stackoverflow.com/a/16443645/4247543

if the above method is not helping then try using EventBus

请按照以下链接了解更多活动巴士

https://github.com/greenrobot/EventBus

http://gunhansancar.com/ease-communication-between-activities-fragments-services/

BroadcastReceiver as mentioned could also help for enabling communication.

https://stackoverflow.com/a/10084754/4247543

You can use observers

https://stackoverflow.com/a/30964385/4247543

希望有所帮助。

答案 2 :(得分:0)

View&之间的沟通Presenter应通过interface

PresenterActivity(查看)都有自己的interface

  1. 因此,列表项单击项将转发给演示者。
  2. 演示者决定该怎么做。即打开DetailsActicity
  3. 调用活动以启动新的意图。
  4. 以下是MVP interfaces

    的一个很好的例子

    MVP

    的一个好/简要说明

    修改

    • Adapter& Activity / Fragment

    第一点 - 在我个人看来Adapter& Activity / Fragment是MVP架构中View的所有子部分。

    Activity将保留对Adapter

    的引用

    Activity(通过Presenter)可以通过常规方式对适配器中的数据进行主要处理,即更改基础数据对象并调用notifyDataSetChanged

    至于Adapter发送请求回ActivityView.OnClickListener这可以通过首次初始化Adapter时发送的回调来完成(即使用new创建{{1}}关键字)