startActivity之后获取活动(意图i)

时间:2013-07-04 15:09:28

标签: android android-activity

在一种方法中,我开始一项新活动

public void start(){
    Intent i = new Intent(mContext, Screen.class);
    mContext.startActivity(i);
    //Here i want to get the new activity

    Activity a = ...
    //Do something with new activity        

}

在调用starActivity()后,我需要获取新的Activity并使用它做一些事情。

有可能吗?

编辑:

我的Screen类上有这些方法:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    loadedScreen = false;
}


public void loadScreen(String folderResources, String nameXml, String nameScren){
         //Do something
    }

loadScreen读取XML文件并按代码创建所有用户界面,而不是在onCreate中进行

在另一个课程中,我调用foo():

public void goToScreen(String nameScreen){
    Class screen = Screen.class;
    Intent i = new Intent(mContext, screen);
    mContext.startActivity(i);

    //Here in screen.getMethod... i need use a instance of Screen, which i think it have to be created in `startActivity()`

        Method loadUrl = screen.getMethod("loadScreen", String.class, String.class, String.class);

      loadUrl.invoke(screen, "folder-s","screen1","screen1.xml");


}

我需要在loadScreen后调用startActivity,因为此方法会加载所有视图。我用反射来做这件事。所以我需要获得新的活动

1 个答案:

答案 0 :(得分:3)

  

在调用starActivity()后,我需要获取新的Activity并使用它做一些事情。

拨打startActivity()后,其他活动尚不存在 - 一段时间内不存在。

  

我需要在startActivity之后调用loadScreen,因为此方法会加载所有视图。

loadScreen()活动的onCreate()致电Screen

如果您希望将folderResourcesnameXmlnameScren的值传递给Screen,请拨打{{1}上的putExtra()。你与Intent一起使用。然后,startActivity()可以调用Screen中的getIntent().getStringExtra()来检索这些值,以便将其传递给onCreate()