在一种方法中,我开始一项新活动
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
,因为此方法会加载所有视图。我用反射来做这件事。所以我需要获得新的活动
答案 0 :(得分:3)
在调用starActivity()后,我需要获取新的Activity并使用它做一些事情。
拨打startActivity()
后,其他活动尚不存在 - 一段时间内不存在。
我需要在startActivity之后调用loadScreen,因为此方法会加载所有视图。
从loadScreen()
活动的onCreate()
致电Screen
。
如果您希望将folderResources
,nameXml
和nameScren
的值传递给Screen
,请拨打{{1}上的putExtra()
。你与Intent
一起使用。然后,startActivity()
可以调用Screen
中的getIntent().getStringExtra()
来检索这些值,以便将其传递给onCreate()
。