Я немного мучился, узнав, как закончить деятельность, не дожидаясь ее завершения. Я знаю, что простой «возврат»; заявление будет делать трюк, но в моей архитектуре я не могу этого сделать.Закончить деятельность, не дожидаясь завершения
я в настоящее время:
public abstract class BaseFragmentActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
finish();
return;
}
}
}
и
public class MainActivity extends BaseFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* code still executed here even when parent finish(); is called */
}
}
Как я могу предотвратить выполнение кода в MainActivity раз отделки() в моем абстрактном классе называется?
ОБНОВЛЕНО КОД:
public abstract class BaseFragmentActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
finish();
return;
}
}
}
public class MainActivity extends BaseFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (isFinishing()) {
return;
}
}
}
Странная вещь, хотя, «возвращение», кажется, работает, но мой FragmentManager как-то запускает фрагмент в конце.
вы звоните super.onCreate() в Основная деятельность? –
Да, я. Это на самом деле первая строка. Я уточню это в вопросе. – Tomap
@Tomap почему это абстрактный класс? также он должен быть .call super before if. Также проверьте заметку в конце страницы http://developer.android.com/training/basics/activity-lifecycle/starting.html – Raghunandan