2013-01-24 58 views
0

刪除我有幾個activty例如時間線Activity.This活動開始時,用戶成功登錄到我的application.However我有我的application.When的主題改變我去更改應用程序的主題我沒有菜單完成下次使用的時間線活動。 我chnage我的主題顏色和背景並保存更改到時間線acitvity新theme.Then使用下面的代碼Acivity實例從堆棧

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     // Ask the user if they want to quit 

     new AlertDialog.Builder(this) 
       .setIcon(android.R.drawable.ic_dialog_alert) 
       .setTitle("") 
       .setMessage("Do you want to exit") 
       .setNegativeButton("No", null) 
       .setPositiveButton("Yes", 
         new DialogInterface.OnClickListener() { 
          // @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
           finish(); 

           Intent intent = new Intent(
             Intent.ACTION_MAIN); 
           intent.addCategory(Intent.CATEGORY_HOME); 
           intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
           intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
           startActivity(intent); 

          } 
         }).show(); 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 

當我離開我的應用程序,但是當我開始我的申請,我再次看到時間軸活動這是前主題change.I認爲Timetine活動實例保留在堆棧中,雖然我從ThemeChange活動開始新的時間線活動。

活動流程

時間軸(帶主題黑色) - > ThemeChange(按下ThemechangeMenu) - >更改主題和保存按鈕點擊 - >再次開始時間線(使用新主題成功) - >退出我機應用使用Avobe代碼 - >重新開始我的應用程序 - >出現的TimeLine(與布萊克主題不改變的主題)

我怎麼能當新的時間軸實例從Themechange活動運行銷燬從堆棧時間軸的前一個實例使用Save按鈕點擊listener.Please給我一些寶貴意見

+1

它看起來像您的應用程序實例正在重新創建。如果你有一個Application類,而不是在Application類的OnCreate中放置一些日誌語句。如果您的應用程序正在重新啓動,它將始終從黑色主題開始,而不是您先前設置的那個。 – aProgrammer

+0

我沒有應用程序class.I在時間軸中有一個重新加載按鈕。如果我重新加載時間線,那麼它將被再次更改,我顯示被加密的時間線... – Sajol

回答

0

地方在你的代碼後startActivity(intent);並添加android:lauchMode="standard"manifest文件TimeLineActivity。然後activity將不會堆疊。

+0

我做你的建議,但問題沒有解決。 – Sajol

+0

它應該解決..我不知道笏出了問題......但這些是解決您的問題的兩種方法... –

+0

好的兄弟感謝您的建議。 – Sajol