如何在活动组中获取儿童活动?

时间:2011-06-17 21:05:32

标签: android

我有这段代码:

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将处理自己的事件。

以上是获得儿童活动的正确方法吗?如果没有,在这种情况下,获得儿童活动的最佳方式是什么?

2 个答案:

答案 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);