相关疑难解决方法(0)

碎片和旋转屏幕问题

我有碎片和旋转屏幕的问题.我读了这个帖子,并没有解决我的问题:

没有视图的片段在配置更改时崩溃(不完全相同)

替换片段时出现IllegalStateException(不解决我的问题)

我只有一项活动:

public class MainActivity extends FragmentActivity implements TabSelectedListener {

    /** Application tab menu */
    private TopMenu menu;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        menu = (TopMenu) this.findViewById(R.id.menu);
        menu.setListener(this);


    }//onCreate

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        // TODO Auto-generated method stub
        super.onSaveInstanceState(outState);
    }

    public void tabSelected(int tab) {

        FragmentManager fragmentManager = this.getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        Fragment f = null;

        boolean logged = DataController.getInstance().getLogged();

        switch(tab){
        case TopMenu.TAB1:
            if( !logged ){
                f = new HomeFragment(); …
Run Code Online (Sandbox Code Playgroud)

android view rotation fragment

9
推荐指数
1
解决办法
5354
查看次数

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

我在工作中继承了一些代码,我对一些实现有疑问.我正在处理的应用程序有一个包含大约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声明,我感觉不太舒服.我看到了这个问题,它似乎与我遇到的问题非常相似.我在互联网上做了很多搜索,但我没有找到这种情况的例子或最佳实践.

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

android design-patterns android-fragments android-activity

5
推荐指数
1
解决办法
457
查看次数