最好只使用一个Activity
加载作为intent的附加内容传递的Fragment
类?这个解决方案有效,但我不确定这是一个好的模式。我想使用这种方法beacuse(目前)每个Fragment“是”一个Activity,所以我宁愿避免为每个Fragment创建一个Activity。
以下是我的唯一活动的示例:
public class GenericActivity extends FragmentActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.onepane);
if (findViewById(R.id.fragment_container) != null) {
if (savedInstanceState != null) {
return;
}
String fragmentToLoadName;
try{
fragmentToLoadName = getIntent().getExtras().getString("FRAGMENT");
}catch(NullPointerException e){
FragmentHelper.add(R.id.fragment_container, new MainFragment(),
MainFragment.class.getName(), getSupportFragmentManager());
}
if(fragmentToLoadName!=null){
Class fragment_to_load_class = null;
try {
fragmentToLoadClass = Class.forName(fragmentToLoadName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
FragmentHelper.add(R.id.fragment_container, (Fragment) fragmentToLoadClass.newInstance(),
fragmentToLoadName, getSupportFragmentManager());
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}