我有这段代码:
MainActivity:
public class MainActivity extends ActivityGroup
在MainActivity中,我使用它来启动一个活动并获得它的处理:
final LocalActivityManager manager = getLocalActivityManager();
final Intent i = new Intent(MainActivity.this, SearchActivity.class);
final Window w = manager.startActivity("SearchActivity", i);
Activity activity = (Activity) w.getContext();
这种用法的原因是我希望尽量减少MainActivity的职责。 SearchActivity将处理自己的事件。
以上是获得儿童活动的正确方法吗?如果没有,在这种情况下,获得儿童活动的最佳方式是什么?
答案 0 :(得分:2)
有LocalActivityManager#getActivity(String id)方法可用。只需使用您用于启动活动的相同ID。
答案 1 :(得分:0)
我希望它可能有所帮助。 这是我自己的经验,如果您使用活动组,则始终尝试从活动组中打开新活动。即始终从小组活动中打开新活动。如果你从子活动中打开它会产生许多问题。一个是窗口管理器坏令牌异常。
从这里打开组中的新活动是代码: 我希望它可以帮到你:
View view = getLocalActivityManager()
.startActivity("ReferenceName",intent_to_start_activity
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();
Your_group_cativity.this.setContentView(view);