使用BaseActivity扩展活动执行代码oncreate?

lis*_*aro 1 java android

我有很多活动需要在create上执行一些代码,这段代码与显示首选项有关,比如不同的主题,隐藏状态栏等.

这是其中一个活动的一个例子:

public class MainActivity extends BaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    }
}
Run Code Online (Sandbox Code Playgroud)

基本活动依次具有以下代码:

public class BaseActivity extends Activity{

        // getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        // System.out.println("BaseActivity");

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试在create上运行一些代码,但我无法做到.如何使用BaseActivity尽快运行上面的代码?

Tob*_*run 6

在childs onCreate方法中调用super.onCreate(Bundle bundle)来调用父类的onCreate.

这是从Activity中抽象代码以便在其他活动中重用的常见做法.

例如:

public class MainActivity extends BaseActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       Log.v(TAG,"MainActivity");
    }
}



public class BaseActivity extends Activity{

    protected static final String TAG = "TAG";

    @Override
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         Log.v(TAG,"BaseActivity");
    }
}
Run Code Online (Sandbox Code Playgroud)

我个人经常这样做,但我经常更喜欢以下内容,以获得更好的可维护代码:

继承的构成