如何在子代活动中获取名称父代活动 [英] How get name parent activity in child activity

查看:61
本文介绍了如何在子代活动中获取名称父代活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在子活动中获取父活动的名称.我有两个活动可以开始相同的活动.为了更好地理解:我的活动为一,二,三.从活动一,我可以开始活动三,从活动二,我可以开始活动三.现在我有一个问题.我如何才能进入活动三,即父活动的名称.因此,当我从活动一开始活动三时,我将如何获得此信息.我想实现一个简单的循环 if(),在其中将对象添加到ArrayList中,这是由于哪个活动开始了我的活动三.我该怎么做?

How I can get name of parent activity in child activity. I have two activities where I can start the same activity. For better understanding: I have activity ONE, TWO, THREE. From activity ONE I can start activity THREE and from activity TWO I can start activity THREE. Now I have a question. How I can get in activity THREE, name of parent activity.So when I start activity THREE from activity ONE how I can get this information. I want to implement simple loop if() where I add objects to the ArrayList due to which activity starts my activity THREE. How I can do that?

推荐答案

类似这样的东西

FirstActivity:

FirstActivity:

     Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
     intent.putExtra(Consts.PARENT_ACTIVITY_NAME, "ONE");
     ...
     startActivity(intent);

SecondActivity:

SecondActivity:

     Intent intent = getIntent();
     String parentName = intent.getStringExtra(Consts.EPARENT_ACTIVITY_NAME;
     if(parentName.equals(...)){ 
        ....
     }

但是我认为最好不要使用活动名称.稍后,您将需要更改类的名称,添加新的类,等等.您将不得不进行大量编辑,并且代码难以维护.最好进入操作模式,所有其他活动都会使您的活动进入特定模式.所以:

But in my opinion it is better not to use the names of the activities. Later you'll want to change the name of the class, add new, etc. You will have to make a lot of edits and the code is hard to maintain. It is better to enter the mode of operation, and all other activity will cause your activity to a specific mode. So:

FirstActivity:

FirstActivity:

     Intent intent = new Intent(FirstActivity.this, SomeActivity.class);
     intent.putExtra(Consts.PARENT_ACTIVITY_MODE, TwoActivity.MODE_EDIT);
     ...
     startActivity(intent);

SecondActivity:

SecondActivity:

     Intent intent = new Intent(SecondActivity.this, SomeActivity.class);
     intent.putExtra(Consts.PARENT_ACTIVITY_MODE, TwoActivity.MODE_DELETE);
     ...
     startActivity(intent);

第三活动:

     Intent intent = new Intent(ThirdActivity.this, SomeActivity.class);
     intent.putExtra(Consts.PARENT_ACTIVITY_MODE, TwoActivity.MODE_COPY);
     ...
     startActivity(intent);

一些活动:

     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;
     }

这篇关于如何在子代活动中获取名称父代活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆