尽管它不是最佳用户体验。我想知道用不同的回调实现启动几个不同的Activity(Dialog)的最佳解决方案是什么。我假设每个对话框的开始需要来自context.startactivity(dialog1)
的静态结构方法。除了一些标题和消息之外,每个对话框看起来完全相同,但ok
和cancel
按钮的回调是不同的。我想从通用对话框行为中分离对话框回调(ok,cancel)的实现。如果我在静态方法启动活动时无法通过操作怎么办,我也找不到适合这种情况的Bundle。
答案 0 :(得分:0)
如何做,为对话框创建一个枚举。
根据枚举,您可以将所有内容的值都放在枚举本身中,也可以在适当的位置切换代码中的枚举。
建议为yes和no按钮创建不同的单击侦听器。
在这些点击监听器中,您可以切换(枚举),并且每个案例都有特定的业务逻辑。或创建不同的单击侦听器并使用将根据枚举分配侦听器的工厂。
任何一种解决方案都可以使用,具体取决于您希望如何编码。他们都有自己的利弊。
根据对话框的外观,您可以使用AlertDialog.Builder类。还有一个dialogfragment类,您可以扩展它以帮助对话。
如果你想向用户显示几个对话框,你需要某种类型的队列,你要填充你想要显示的所有对话框,然后一个接一个地显示它们,恕我直言,使用不同的视图,只需要替换视图一个活动,所以你可以以某种方式将其滑入或动画。
你可以让它们看起来像卡片,然后只需更改中间的文本,这样就可以很容易地根据当前视图的类型切换clicklisteners,你甚至可以让枚举使用R.layout提供视图。 layout_name作为枚举中的值。
我知道这很多,也许有些不清楚,请提出问题,我会尽力及时回复。