2011-06-01 157 views
1

我的應用程序已登錄,一旦授予訪問權限,它會爲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

回答

0

確保當用戶選擇了「登錄爲不同的用戶」選項,表示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

0

試試這個,看看它是否工作。

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