ActionBar导航列表 - 在多个活动中使用相同的ActionBar; 在一个地方初始化

jam*_*s0n 4 java android actionbarsherlock android-actionbar

我发现自己在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);
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. 在这种情况下,我应该使用1个带有3个片段的活动吗?我的活动是列表视图,地图视图和表单视图.我不确定这是否是使用Fragments的正确案例,因为在我的案例中,每个视图都使用整个屏幕.

  2. 使用3种不同的活动,我可以创建一个新类,其唯一目的是使用上面的代码为我配置ActionBar,所以初始化代码只在一个地方吗?

就像是:

public class setupActionBar {
    private ActionBar myBar;
    public setupActionBar(ActionBar myBar){
        this.myBar = myBar;
        //Do Initialization on myBar;
    }

    public ActionBar getMyBar(){
        return myBar;
    }
}
Run Code Online (Sandbox Code Playgroud)

ain*_*rti 10

观看此视频.他创建了一个BaseActivity子类,用于程序中使用的所有活动.整洁的小技巧;)

你以后可以感谢我:D