Программно повторно запустите/воссоздайте действие?

После того, как я делаю некоторое изменение в своей базе данных, которая вовлекает существенное изменение в мои представления, я хотел бы перерисовать, повторно выполнить onCreate.

Как это возможно?

110
задан Pentium10 21 March 2010 в 11:51
поделиться

2 ответа

ОБНОВЛЕНИЕ: В Android SDK 11 добавлен метод recreate() для активностей.


Я сделал это, просто повторно используя намерение, с которого началась деятельность. Определите намерение starterIntent в своем классе и назначьте его в onCreate(), используя starterIntent = getIntent();. Затем, когда вы захотите перезапустить активность, вызовите finish(); startActivity(starterIntent);

Это не очень элегантное решение, но это простой способ перезапустить вашу активность и заставить ее перезагрузить все.

113
ответ дан 24 November 2019 в 03:11
поделиться

Если это ваша проблема, то вам, вероятно, следует реализовать другой способ заполнения представления в вашей Activity. Вместо повторного запуска onCreate() вы должны сделать так, чтобы onCreate() вызывал ваш метод заполнения с некоторым аргументом. Когда данные изменяются, метод заполнения должен вызываться с другим аргументом.

1
ответ дан 24 November 2019 в 03:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: