Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用BaseActivity在创建时执行代码来扩展活动?_Java_Android - Fatal编程技术网

Java 使用BaseActivity在创建时执行代码来扩展活动?

Java 使用BaseActivity在创建时执行代码来扩展活动?,java,android,Java,Android,我有许多活动需要在创建时执行一些代码,这些代码与显示首选项有关,例如不同的主题、隐藏状态栏等 这是其中一个活动的示例: public class MainActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { } } 基本活动依次具有以下代码: public class BaseActivity extends Activity{

我有许多活动需要在创建时执行一些代码,这些代码与显示首选项有关,例如不同的主题、隐藏状态栏等

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

public class MainActivity extends BaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    }
}
基本活动依次具有以下代码:

public class BaseActivity extends Activity{

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

}
我试图在create上运行一些代码,但我无法做到这一点。如何使用BaseActivity尽快从上面运行代码?

在childs onCreate方法中调用super.onCreate(Bundle Bundle)以调用父对象的onCreate

从活动中提取代码以在其他活动中重用是一种常见做法

e、 g:

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

组合重于继承

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

从活动中提取代码以在其他活动中重用是一种常见做法

e、 g:

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

组合重于继承


你的代码毫无意义。您正在MainActivity中重写onCreate,但在BaceActivity中显示OnCreateOptions菜单的代码。User2381750具有从MainActivity调用BaseActivity onCreate方法的正确答案。请记住,超级调用必须是方法中的第一个代码(不能在超级调用之上声明变量)。这只是为了说明我想做什么。我之所以使用oncreate,是因为我认为这是尽快运行两行代码的好方法。oncreateoptions菜单不是尽快调用代码的地方,您应该关注活动生命周期或片段生命周期,因为您的代码毫无意义。您正在MainActivity中重写onCreate,但在BaceActivity中显示OnCreateOptions菜单的代码。User2381750具有从MainActivity调用BaseActivity onCreate方法的正确答案。请记住,超级调用必须是方法中的第一个代码(不能在超级调用之上声明变量)。这只是为了说明我想做什么。我之所以使用oncreate,是因为我认为这是尽快运行两行代码的好方法。oncreateoptions菜单不是尽快调用代码的地方,您应该关注活动生命周期或片段生命周期,谢谢!我一个月前开始学习java。这对我有很大帮助,汉克斯!我一个月前开始学习java。这对我有很大帮助
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");
    }
}