只使用一个Activity
来加载Fragment
作为意图的附加内容传递的类是个好主意吗?这个解决方案有效,但我不确定这是一个好的模式。我想使用这种方法,因为(目前)每个片段“都是”一个活动,所以我宁愿避免为每个片段创建一个活动。
这是我唯一活动的示例:
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();
}
}
}
}
}