После того, как я делаю некоторое изменение в своей базе данных, которая вовлекает существенное изменение в мои представления, я хотел бы перерисовать, повторно выполнить onCreate.
Как это возможно?
ОБНОВЛЕНИЕ: В Android SDK 11 добавлен метод recreate()
для активностей.
Я сделал это, просто повторно используя намерение, с которого началась деятельность. Определите намерение starterIntent
в своем классе и назначьте его в onCreate()
, используя starterIntent = getIntent();
. Затем, когда вы захотите перезапустить активность, вызовите finish(); startActivity(starterIntent);
Это не очень элегантное решение, но это простой способ перезапустить вашу активность и заставить ее перезагрузить все.
Если это ваша проблема, то вам, вероятно, следует реализовать другой способ заполнения представления в вашей Activity. Вместо повторного запуска onCreate()
вы должны сделать так, чтобы onCreate()
вызывал ваш метод заполнения с некоторым аргументом. Когда данные изменяются, метод заполнения должен вызываться с другим аргументом.