Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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/6/haskell/8.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 从父类完成应用程序_Java_Android_Android Activity_Activity Finish - Fatal编程技术网

Java 从父类完成应用程序

Java 从父类完成应用程序,java,android,android-activity,activity-finish,Java,Android,Android Activity,Activity Finish,android finish()方法存在一些问题。 我有一个家长班级活动。我们称之为家长活动。我的项目中的所有其他活动都扩展了ParentActivity。每次在ParentActivity.onCreate上都有一些语句,如果它失败,我想停止活动的执行。但当我在父对象中调用finish()时,我无法停止对其子对象执行onCreate方法。诸如此类: public class ParentActivity extends Activity { @Override protect

android finish()方法存在一些问题。 我有一个家长班级活动。我们称之为家长活动。我的项目中的所有其他活动都扩展了ParentActivity。每次在ParentActivity.onCreate上都有一些语句,如果它失败,我想停止活动的执行。但当我在父对象中调用finish()时,我无法停止对其子对象执行onCreate方法。诸如此类:

public class ParentActivity extends Activity {
     @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (!someStatement) finish();
}

public class Test extends ParentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);        
    Log.d("TAG", "I dont want this code!");
}
}

当然,我每次都可以在家长活动中验证它的状态,但我认为这不是一个好主意

public class Test extends RexActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (isFinishing()) return; /// It works - but it bad :(((
    Log.d("TAG", "I dont want this code!");
}
}


我是否可以停止对其父活动的子活动执行onCreate方法?非常感谢您的帮助

最好的选择是在创建第二个活动之前在启动屏幕中使用finish(),

我不确定您的问题是否正确。因为你有一些语法问题

  • 始终执行
    onCreate
    语句。您可以在
    ParentActivity
    中使用
    Boolean
    来停止在
    ChildActivity\onCreate()中执行代码
  • 您可以尝试将
    onCreate()
    代码划分为多个函数,从而使其更加模块化
  • 让我知道什么适合你