我有碎片和旋转屏幕的问题.我读了这个帖子,并没有解决我的问题:
没有视图的片段在配置更改时崩溃(不完全相同)
替换片段时出现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) 我在工作中继承了一些代码,我对一些实现有疑问.我正在处理的应用程序有一个包含大约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声明,我感觉不太舒服.我看到了这个问题,它似乎与我遇到的问题非常相似.我在互联网上做了很多搜索,但我没有找到这种情况的例子或最佳实践.
如果有人可以指出我正确的方向或有一些建议; 那太棒了.谢谢!