【问题标题】:Difference Between 2 Ways to Start an Activity?两种开始活动的方法之间的区别?
【发布时间】:2010-02-09 18:55:38
【问题描述】:

我见过下面两个在Android中启动activity的例子:

示例 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);
}

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

【问题讨论】:

  • 这两者没有区别。

标签: android android-activity android-intent


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    另外,代码可以缩短为

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 2011-07-14
      • 1970-01-01
      • 2011-09-29
      • 1970-01-01
      • 2015-03-18
      • 2019-04-06
      相关资源
      最近更新 更多