gpt4 book ai didi

android - 使用 Context 启动另一个 Activity

转载 作者:IT老高 更新时间:2023-10-28 23:23:03 34 4
gpt4 key购买 nike

要启动 Activity,您需要一个 Intent,例如:

Intent i = new Intent(context, class)

所以要填写上下文参数,有几个选项可用:

  • 使用 MyActivity.this 或仅使用 this
  • 使用 getApplicationContext()
  • 使用 getBaseContext()

而且我敢肯定还有一两个选择。这些选项都出现在某种教程中,一个使用第一个选项,下一个使用第三个选项。

那么我应该使用哪一个?这还重要吗?不同情况有区别吗?

最佳答案

是的,不同的情况不同,

这取决于范围。假设您在一个全局类中创建一个方法,该方法 extends Application 以创建一个 Toast 用于您的 的每个类应用程序你可以使用getApplicationContext()来创建它。

如果你想创建一个仅限于特定 Activity 的 View ,你可以使用 Activity.this

另外,如果你想在某个内部类中创建一个 AlertDialog,比如 AsyncTask,那么你必须使用 Activity.this,因为 AlertDialog 将链接到 Activity 本身。

也不要使用 getBaseContext(),只需使用您所拥有的 Context。要获得更多信息,您可以查看 this Answer .

所以,真正的问题的答案最好是使用Activity.this 来启动一个新的Activity

Intent intent = new Intent(Current_Activity.this, Calling.class);
startActivity(intent);

关于android - 使用 Context 启动另一个 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9227835/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com