2017-07-26 70 views
0

我在我的程序中有多個活動,它的流程就像MainActivity - LoginActivity-NextLoginActivity等,我在除主要活動以外的每個活動應用透明主題,所以我希望當我點擊任何活動時,它應該在後臺顯示MainActivity而不是以前的活動。如何禁用以前的活動,當點擊下一個活動

+1

'finish()'當前活動當你開始下一個..?? – Michael

+0

我不知道你爲什麼想要這樣做,但如果你仍然想做每一個導航完成你當前的活動,然後再去下一個活動,當你在下一個手動按回去手動打開前一個 –

+0

寫**完成(); ** ** startActivity(intent)後**; ** –

回答

0

您可以嘗試爲每個活動中的父佈局提供一個標識並處理點擊。

喜歡的東西:

LinearLayout LoginActivity = (LinearLayout) findViewById(R.id.login_activity); 
LoginActivity.setOnClickListener(new OnClickListener() { 
@Override 
public void onClick(View v) { 
    startActivity(new Intent(this, MainActivity)); 
//If you want to close this one 
//this.finish(); 
    } 
}); 
0

也許你想在下面的結果?

您可以打開應用程序,應用到這些活動依次是:MainActivity -> LoginActivity -> OtherActivity

而且要click a buttonOtherActivity,你不想返回LoginActivityMainActivity

如果是,你可以做到這一點:

button.setOnClickListener(new OnClickListener() { 
@Override 
public void onClick(View v) { 
     Intent intent = new Intent(this, MainActivity.class); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent); 
    } 
}); 

在這一行:intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

活動將使用Launch Mode作者:singleTask

如果活動堆棧具有MainActivity,它將完成MainActivity之上的其他活動,然後返回MainActivity。

相關問題