2013-01-23 185 views
0

我嘗試在我的應用程序中添加主題更改選項。我有一個稱爲時間軸的主要活動。並且從那裏用戶可以去themechange活動可以更改theme.It更改themechange活動的主題,但不是時間表,即mainactivity.When我再次加載時間線活動,我可以看到chnage。Android活動完成

然後我添加以下代碼保存在themechange活動按鈕刷新時間表活動

save.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      finish(); 
      Intent i = new Intent(BackgroundChange.this, TimeLine.class); 
      i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
      startActivity(i); 
      Intent k = new Intent(BackgroundChange.this, 
        SettingsActivity.class); 
      startActivity(k); 

     } 
    }); 

,而且運作良好。

但是當我退出我的應用程序並重新開始時,我可以看到themechage之前的時間線活性。

我用下面的代碼出境申請

exit.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      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_NEW_TASK); 
           intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
           startActivity(intent); 

     } 
    }); 

,如果我再離開,我可以看到的變化timeline.I要清除所有的活動還當我退出application.I不能保留退出後,之前的任何活動。現在我可以做什麼?請給我一個建議..

+0

使用:**公共無效的onClick (View v){ finish(); System.exit(0); } ** – Shiv

回答

0

但是,如果你使用this.finish()它的工作原理。刪除所有的意圖,只使用「this.finish()」。當然它 將工作。如果它不工作,那麼在finish()之後使用System.exit(0)。

2

在出口處,

exit.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View arg0) { 
       Intent intent = new Intent(getApplicationContext(),TimeLine.class); //This will finish all activities except TimeLine 
          intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

          intent.putExtra("exit", true); 
          startActivity(intent); 

    } 
}); 

在時間軸的OnCreate,

if(getIntent().getBooleanExtra("exit", false)) 
finish(); //This will finish your main activity 
0

您可以使用noHistory = 「真」 的清單文件,你的活動