在一种方法中我开始了一个新的 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");
}
我需要在 startActivity
之后调用 loadScreen
,因为此方法会加载所有 View 。我使用反射来做到这一点。所以我需要获得新的 Activity
最佳答案
After calling starActivity() i need to get that new Activity and doing something with it.
调用 startActivity()
后,另一个 Activity 还不存在——它将在一段时间内不存在。
I need call to loadScreen after startActivitybecause this method load all views.
从 Screen
Activity 的 onCreate()
调用 loadScreen()
。
如果您希望将 folderResources
、nameXml
和 nameScren
的值传递给 Screen
,请执行此操作通过在与 startActivity()
一起使用的 Intent
上调用 putExtra()
。然后,Screen
可以在 onCreate()
中调用 getIntent().getStringExtra()
来检索这些值,以便将它们传递给 loadScreen()
.
关于android - 在 startActivity(Intent i) 之后获取 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17473603/