Обновление активности Android - PullRequest
1 голос
/ 03 января 2011

Я вызываю действие изнутри себя - в основном, у меня есть список новых ячеек и две кнопки фильтра, которые при нажатии перезапускают действие с пропущенным намерением, которое меняет новости.

Когда я запускаюприложение работает, но на секунду я получаю старый интерфейс активности, в то время как приложение читает из нового фида xml, а затем обновляет интерфейс.Есть ли способ, чтобы предотвратить это и заставить активность перезапустить холод.

вот код, который я сейчас прикрепляю к onclicklistener

public void openFootballNews(View v) {
 Intent i = new Intent(this, News_Landing.class); // News_landing class is the class this code is in
 Bundle bundle = new Bundle();
     bundle.putString("code", "football"); // this, if set, changes the xml feed to read
     i.putExtras(bundle);
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
     this.onCreate(null); //this has halved the time the old UI is on the screen for but I cant get rid of it completely
     startActivity(i);
}

любая помощь будет отличной, спасибо!

1 Ответ

3 голосов
/ 15 января 2011

Начинать деятельность с себя не имеет особого смысла (если ваша цель не сделать что-то эзотерически рекурсивное;)). Кроме того, я могу ошибаться, но я считаю, что действия хранятся в стеке, так что, переключаясь между новостями, вы накапливаете одно почти идентичное действие за другим. Точно так же я думаю, что звонить onCreate() от руки - плохая форма.

Нужно было бы увидеть весь ваш код, но я предполагаю, что вы читаете свой канал и создаете свой список внутри onCreate(), и что вам лучше всего преобразовать его в метод openNews(String sport), который вы называете один раз в onCreate() и снова в ваших слушателях.

...