我有3項活動FirstActivity,SecondActivity和ThirdActivity。 FirstActivity會導致SecondActivity導致ThirdActivity。我希望能夠在FirstActivity和SecondActivity,FirstActivity和ThirdActivity之間來回移動。有沒有更好的方法來完成另一項活動的活動?
以下是我已經實現:
FirstActivity:
在FirstActivity我有一個onClick方法 'goToSecondActivity',開始SecondActivity
public void goToSecondActivity(View view){
Intent i = new Intent(this, SecondActivity.class);
final EditText firstText = (EditText) findViewById(R.id.firstText);
String userMessage = firstText.getText().toString();
if(!"".equals(userMessage))
i.putExtra("firstMessage",userMessage);
startActivity(i);
}
SecondActivity:
在SecondActivity再次我有一個onClick方法 'goToThirdActivity',這將啓動ThirdActivity
public void goToThirdActivity(View view){
Intent i = new Intent(this , ThirdActivity.class);
startActivity(i);
}
ThirdActivity:
在ThirdActivity我有兩個的onClick方法 'backToFirstActivity'和'backToPreviousActivity'在兩個不同的按鈕上
On ThirdActivity當我點擊'返回到第一個活動'按鈕時,我想回到FirstActivity。
我做了什麼:
SecondActivity:
我已經聲明爲static變量
static SecondActivity secondActivityMain;
而且在onCreate方法爲它分配:
protected void onCreate(Bundle savedInstanceState) {
---
---
secondActivityMain = this;
---
---
}
ThirdActivity:
使用靜態變量結束SecondActivity 「SecondActivity.secondActivityMain.finish();」
public void backToFirstActivity(View view) {
Toast.makeText(getApplicationContext(), "Third: finished second activity ",
Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
SecondActivity.secondActivityMain.finish();
ThirdActivity.this.finish();
}
}, 2000);
}
我的問題是:
1.是否有更好的方法來從另一個活動完成的活動?
2.這種方式是正確的嗎?
請檢查FLAG_ACTIVITY_CLEAR_TOP。 [http://stackoverflow.com/questions/7385443/flag-activity-clear-top-in-android](http://stackoverflow.com/questions/7385443/flag-activity-clear-top-in-android ) –