是否有Android设计模式可以处理单个活动中的多个片段?

Dun*_* Ta 5 android design-patterns android-fragments android-activity

我在工作中继承了一些代码,我对一些实现有疑问.我正在处理的应用程序有一个包含大约15个不同片段的Activity.处理这些片段的Activity中的逻辑大致可以使用以下伪代码进行汇总:

if (button_1 selected) { 
    load fragment_1; 
} else if (button_2 selected) {
    load fragment_2;
} else if (button_3 selected) {
    load fragment_3;
} ...and so on x15ish
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否存在某种Android设计模式来处理这样的情况?代码有效; 但是,对于一个巨大的if/else或case声明,我感觉不太舒服.我看到了这个问题,它似乎与我遇到的问题非常相似.我在互联网上做了很多搜索,但我没有找到这种情况的例子或最佳实践.

如果有人可以指出我正确的方向或有一些建议; 那太棒了.谢谢!

Psi*_*siX 0

您不应检查已选择哪个按钮,而应使用按钮的 onClickListener 来选择正确的片段。

buttonForFragment1.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
             // select fragment 1 here
    }
});
Run Code Online (Sandbox Code Playgroud)

关于这个问题,这不是设计模式的一个级别,而是实现细节(习语),并且您正确地将代码识别为一种气味,我认为一个不符合模式的可能解决方案是上面的代码。