重复 类 以处理应用程序流程(具有明确的意图)
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" 传递参数以控制哪些选项可用。
我的应用程序中有三个不同的选项,允许用户通过几个相同的 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" 传递参数以控制哪些选项可用。