android finish()方法有一些问题。 我有一个父类活动。让我们称之为ParentActivity。我的项目中的所有其他活动都扩展了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方法吗?非常感谢您的帮助!
答案 0 :(得分:1)
我不确定我的问题是否正确。因为你有一些语法问题。
onCreate
语句。您可以在Boolean
中使用ParentActivity
来阻止代码在ChildActivity#onCreate()
中执行。onCreate()
代码更加模块化,方法是将其划分为函数,以便不会调用它。让我知道什么对你有用。
答案 1 :(得分:0)
最佳选择是在创建第二个活动之前在启动画面中使用finish(),