3

我在Android中看到了以下两个启动活动的示例:

示例 1

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);

示例 2

// Calling activity
NextActivity.show(this)

// In the called activity
static void show(Context context) {
        final Intent intent = new Intent(context, NextActivity.class);
        context.startActivity(intent);
}

这两个示例之间的明显区别似乎在于您将如何创建活动的逻辑附加到活动的实现中。还有其他关键区别吗?(例如,在一种情况下,调用活动是否被告知要等到被调用的活动完成,而在另一种情况下则不等)

4

2 回答 2

4

我认为您的 2 种方法没有区别,除了您的第一个方法中的 2 行代码恰好位于恰好位于第二个活动的类中的静态方法中。

为启动活动而执行的实际代码行是相同的。因此,这两种方法的行为将是相同的。

于 2010-02-09T18:59:05.507 回答
1

此外,代码可以缩短为

context.startActivity(new Intent (context, NextActivity.class));

将 Intent 实例创建为字段的唯一原因是您需要设置标志或添加额外内容等。

于 2010-11-28T18:31:21.947 回答