如果我不想粘贴相同的代码,如何在不同的活动中设置相同的工具栏?

How to set the same ToolBar in different activities if I don't want to paste the same code?

我使用 AppBarLayout & ToolBar 来替换默认的 ActionBar。我有六个活动应该使用我的自定义 ActionBar。但我不想在每个 activity 的 onCreate() 函数中粘贴相同的代码。 如何只做一次相同的设置?我是 Android 的新手,感谢您的帮助!

试试这个解决方案:

  1. MyBaseActivity:

    public class MyBaseActivity extends AppCompatActivity {
    
    // do not override onCreate here..
    
    protected void setContentViewAndSetUpToolBar(int layoutResID) {
    
    setContentView(layoutResID);
    
    // SetUpToolBar Code Here.
    }
    // menu callbacks Overrides here.
    }
    
  2. 其他活动:

    public class OtherActivity extends MyBaseActivity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        super.setContentViewAndSetUpToolBar(R.layout.layout_for_activity);
        //..
    }
    //..
    }
    

您可以使用一个 Activity。还有一堆碎片。