我有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 ) –