重复 类 以处理应用程序流程(具有明确的意图)

Duplicate Classes to handle app flow (with explicit intents)

我的应用程序中有三个不同的选项,允许用户通过几个相同的 classes 但在不同的时间,即

1) 分享给朋友:

MainClass -> InviteFriendOrGroup -> 共享 -> IM

2) 与朋友一起创建活动

MainClass -> InviteFriendOrGroup -> CreateEvent -> OpenEventsPage

3) 创建没有朋友的活动:

MainClass -> CreateEvent -> OpenEventsPage

我的问题是允许此导航没有那么多重复 classes 的意图。例如,在 InviteFriendOrGroup class、onListItemClick 方法中

    Intent i = new Intent(getActivity(), SpecialSharing.class);
    startActivity(i);

表示只允许打开上面的1)。一个简单的解决方案是复制 classes,但它们的意图不同,ie.InviteFriendOrGroupEvent,或 InviteFriendOrGroupSharing....

但必须有更好的方法吗?

您不应该复制 类。在 Intent 中使用 "extras" 传递参数以控制哪些选项可用。