Android活动更新

Android活动更新,android,android-activity,restart,Android,Android Activity,Restart,我从一个活动本身中调用它——基本上我有一个新故事列表和两个过滤器按钮,当单击它们时,它们会重新启动活动,并传递更改新闻故事的意图 当我运行应用程序时,它可以工作,但有一秒钟,当应用程序读取新的xml提要,然后UI更新时,我得到了旧的活动UI。有没有办法阻止这种情况发生,并让活动重新启动冷 以下是我当前附加到onclicklistener的代码 public void openFootballNews(View v) { Intent i = new Intent(this, News_Land

我从一个活动本身中调用它——基本上我有一个新故事列表和两个过滤器按钮,当单击它们时,它们会重新启动活动,并传递更改新闻故事的意图

当我运行应用程序时,它可以工作,但有一秒钟,当应用程序读取新的xml提要,然后UI更新时,我得到了旧的活动UI。有没有办法阻止这种情况发生,并让活动重新启动冷

以下是我当前附加到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);
}

任何帮助都会很好,谢谢

从活动本身开始没有多大意义(除非你的目标是做一些深奥的递归;)。另外,我可能弄错了,但我相信活动是被放在一个堆栈中的,所以当你在新闻报道之间切换时,你会一个接一个地堆积几乎相同的活动。我同样认为手工调用
onCreate()
是一种糟糕的形式


您需要查看所有代码,但我猜您正在阅读提要并在
onCreate()
中创建列表,最好的办法是将其重构为
openNews(String sport)
方法,在
onCreate()
中调用一次,在侦听器中调用一次。

hmm call finish()当您完成第一个活动时?重新打开
活动
似乎是浪费。如果用户更新提要中的故事,而不是重新打开整个
活动
,可能会更快,更不会让用户感到困惑。谢谢,我本来打算更新故事,但我似乎无法让自定义适配器中的getView再次运行。调用finish似乎不会影响它,问题似乎是保存状态,当活动加载时,它使用关闭前的最后一个状态,直到设置新视图为止-这就是问题所在-我需要找到一种方法来清除保存的状态!