Несколько раз у меня были проблемы с написанием кода на onCreate()
. В основном потому, что UI
еще не был размер и выложен на экране (даже если я поместил свой код в конце функции). Я просмотрел activity life-cycle
, чтобы узнать, есть ли что-то, что работает после onCreate()
. Существует onStart()
, но проблема в том, что onRestart() recalls onStart()
, я не хочу этого. Итак, is there a way to write code between onCreate() and onStart()?
ИЛИ где я должен писать код, который запускается после того, как UI
размещен и работает только один раз во время его process
?Как написать код между onCreate и onStart?
1
A
ответ
0
Не уверен, что именно вам нужно, но вы можете «обмануть» и просто хранить ли вы запускать код или нет:
private boolean mInit = false;
void onStart() {
if (!mInit) {
mInit = true;
// do one time init
}
// remaining regular onStart code
}
Другой способ запуска кода, когда UI помещен является использование глобального макета слушатель:
public class FooActivity extends Activity implements ViewTreeObserver.OnGlobalLayoutListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_content);
View content = findViewById(android.R.id.content);
content.getViewTreeObserver().addOnGlobalLayoutListener(this);
}
@Override
public void onGlobalLayout() {
// unregister directly, just interested once.
View content = findViewById(android.R.id.content);
content.getViewTreeObserver().removeOnGlobalLayoutListener(this);
// do things here.
}
}
Смежные вопросы
- 1. onSizeChanged() вызывает onCreate() и onStart()? - Android
- 2. Почему onStart() вызывается после onCreate()?
- 3. Что происходит между onCreate и onStart для Android?
- 4. Что влияет на производительность onCreate() и onStart() при запуске активности
- 5. Какая разница между onAttachedToWindow и onStart
- 6. Не удалось выполнить цикл в потоках onStart() и onCreate()
- 7. Как написать http после oncreate завершено?
- 8. Как сделать метод onStart() подождать до завершения метода onCreate()
- 9. Обнаруживать, когда внешнее приложение работает onCreate, onStart, onResume в Android
- 10. Где настроить панель инструментов в фрагменте? onCreate() или onStart()?
- 11. Нужна помощь, чтобы понять, где поставить кусок кода, onCreate()/OnStart
- 12. onStart вызывается дважды, не находясь между ними?
- 13. Виды деятельности: onCreate() и onDestroy()
- 14. В чем разница между событием webrole onStart() и Application_Start() global.asax?
- 15. ActivityTestRule - как вызвать код до приложения onCreate
- 16. AndroidAnnotations, как добавить код инициализации после OnCreate
- 17. Как написать sass-код?
- 18. как написать код vba
- 19. как написать php-код
- 20. Можно ли написать код, чтобы написать код?
- 21. Android - Деятельность onCreate and Fragment onCreate
- 22. Запуск приложения для Android с помощью метода onStart(), а не onCreate()
- 23. Как написать этот код?
- 24. Как написать аккуратный код
- 25. Наверху onstart vs onclick
- 26. Как запустить MPlayer из onCreate?
- 27. Как написать эти golang и ЕГО код
- 28. Как написать первый тест и код позже?
- 29. Как написать тестовый код и проверить его?
- 30. Как написать код на C++, который работает между IDE?
Какой код вы пытаетесь написать? Обычно в onCreate вы вызываете конструкторы для своих полей, а в onStart у вас есть некоторые методы запуска, если вам это нужно. – Barodapride