Android:如何不保存实例状态?

问题描述:

我的应用程序已登录,一旦授予访问权限,它会为SD卡创建一个新的html文件,该html文件的输出或外观取决于记录器的帐户。Android:如何不保存实例状态?

写作后,应用程序进入到下一个活动

 Intent nextActivity = new Intent(MyMainAct.this, AppView.class); 
     startActivity(nextActivity); 

的APPVIEW类是下一个活动中,用户界面是网页视图。它查看登录时创建的html。

当我点击“以其他用户身份登录”按钮时,我会返回主要活动MyMainAct。我用下面的代码:

 Intent nextActivity = new Intent(AppView.this, MyMainAct.class); 
     startActivity(nextActivity); 

当我登录再次(作为不同的用户),我期望的不同的UI因为创建的HTML是不同的。但它没有发生。第一个记录器的相同html由webview提供。

我查看了第二个记录器创建的html代码,它与第一个不同。但是webview提供了第一个记录器的html。

是关于实例状态吗?这就是我的想法,这就是为什么我不想保存实例状态(包)。

编辑:

我怎么不理我的应用程序的savedInstanceState?

我MainActivity:

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 

我APPVIEW活动:

public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
+0

因此,你的应用程序为每次登录创建一个新的html?还是为每个用户? – 2011-06-01 07:27:49

+0

感谢您的回应Gab,是的,它创建了一个更新的HTML。 – Kris 2011-06-01 07:28:49

确保当用户选择了“登录为不同的用户”选项,表示HTML活性finish ED(即调用finish方法就可以了)。如果您忽略onCreate事件中的savedInstanceState参数(我认为您可能会这样做),则下次启动此活动时,它将成为它的全新实例。

+0

感谢您的回应Xion,对于noob问题抱歉,但我该如何忽略savedInstanceState?您的意思是,我必须致电finish(); Intent nextActivity = new Intent(AppView.this,MyMainAct.class); startActivity(nextActivity);? – Kris 2011-06-01 07:57:11

+0

是的,在你调用主要活动之前,你应该完成();'current一个(带HTML的),至于忽略'savedInstanceState',好吧......忽略它:)如果你没有以任何方式在你的HTML活动中使用它,就继续这样。对困惑感到抱歉。 – Xion 2011-06-01 07:59:23

+0

嗨,Xion,你能给我一个关于如何忽略saveInstanceState的示例代码吗?我更新了这个问题...... – Kris 2011-06-01 08:11:42

试试这个,看看它是否工作。

Intent nextActivity = new Intent(AppView.this, MyMainAct.class); 
startActivity(nextActivity); 
finish(); 
+0

这也行不通... :( – Kris 2011-06-01 07:48:40

+0

在你的AppView活动中,你如何/何时加载HTML文件? – 2011-06-01 08:08:29

+0

我使用webview,我在这个链接中使用代码http://codeofaninja.blogspot。 com/2011/05/how-to-view-webpage-inside-your-android.html – Kris 2011-06-01 08:10:40