我发现自己在 3 个单独的活动中为我的 actionBar (actionBarSherlock) 列表重写了相同的代码。所有 3 都使用相同的 actionBar,它有 3 个启动活动 #1、#2、#3 的项目。
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
ArrayAdapter<CharSequence> list = ArrayAdapter
.createFromResource(this, R.array.action_list, android.R.layout.simple_dropdown_item_1line);
list.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
getSupportActionBar().setListNavigationCallbacks(list, this);
getSupportActionBar().setListNavigationCallbacks(adapter, this);
getSupportActionBar().setSelectedNavigationItem(position);
我有 2 个问题:
在这种情况下,我应该使用 1 个活动和 3 个片段吗?我的活动是列表视图、地图视图和表单视图。我不确定这是否是使用 Fragments 的正确案例,因为在我的案例中,这些视图中的每一个都使用整个屏幕。
使用 3 个不同的活动,我可以创建一个新类,其唯一目的是使用上面的代码为我配置我的 ActionBar,以便初始化代码只在一个地方?
就像是:
public class setupActionBar {
private ActionBar myBar;
public setupActionBar(ActionBar myBar){
this.myBar = myBar;
//Do Initialization on myBar;
}
public ActionBar getMyBar(){
return myBar;
}
}