如何在子活动中获取父活动的名称.我有两个活动,我可以开始相同的活动.为了更好地理解:我有活动一,二,三.从活动ONE我可以开始活动三,从活动二我可以开始活动三.现在我有一个问题.如何进入活动三,父母活动的名称.所以,当我从活动ONE开始活动三,我怎么能得到这些信息.我想实现简单的循环if(),我将对象添加到ArrayList,因为哪个活动启动我的活动三.我怎么能这样做?
像这样的东西
FirstActivity:
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra(Consts.PARENT_ACTIVITY_NAME, "ONE");
...
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
SecondActivity:
Intent intent = getIntent();
String parentName = intent.getStringExtra(Consts.EPARENT_ACTIVITY_NAME;
if(parentName.equals(...)){
....
}
Run Code Online (Sandbox Code Playgroud)
但在我看来,最好不要使用活动的名称.稍后你会想要更改类的名称,添加新的等等.你将不得不进行大量的编辑,代码很难维护.最好进入操作模式,所有其他活动都会使您的活动进入特定模式.所以:
FirstActivity:
Intent intent = new Intent(FirstActivity.this, SomeActivity.class);
intent.putExtra(Consts.PARENT_ACTIVITY_MODE, TwoActivity.MODE_EDIT);
...
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
SecondActivity:
Intent intent = new Intent(SecondActivity.this, SomeActivity.class);
intent.putExtra(Consts.PARENT_ACTIVITY_MODE, TwoActivity.MODE_DELETE);
...
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
ThirdActivity:
Intent intent = new Intent(ThirdActivity.this, SomeActivity.class);
intent.putExtra(Consts.PARENT_ACTIVITY_MODE, TwoActivity.MODE_COPY);
...
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
一些活动:
Intent intent = getIntent();
int mode = intent.getIntExtra(Consts.EPARENT_ACTIVITY_MODE);
switch(mode){
case MODE_EDIT:
....
break;
case MODE_DELETE:
....
break;
case MODE_COPY:
....
break;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6941 次 |
| 最近记录: |