要启动活动,您需要一个意图,例如:
Intent i = new Intent(context, class)
因此,要填写上下文参数,可以使用以下几个选项:
- Use
MyActivity.this
要不就this
- Use
getApplicationContext()
- Use
getBaseContext()
我确信还有一两个选择。
这些选项都出现在某种教程中,一个使用第一个,下一个使用第三个选项。
那么我应该使用哪一个呢?这还重要吗?不同情况有不同的处理方式吗?
是的,不同情况下有所不同,
这取决于范围。假设您要在全局类中创建一个方法extends
Application
创建一个Toast
在你的每一堂课中都使用Application
您可以使用getApplicationContext()
创建它。
如果您想创建仅限于该特定活动的视图,您可以使用Activity.this
另外,如果您想在某些内部类中创建一个 AlertDialog ,请说AsyncTask
,那么你必须使用Activity.this
,因为AlertDialog
是要链接到Activity
itself.
也不要使用getBaseContext()
只需使用Context
你正在拥有的。要获取更多信息,您可以查看this Answer https://stackoverflow.com/questions/1026973/android-whats-the-difference-between-the-various-methods-to-get-a-context.
所以,真正问题的答案最好使用Activity.this
开始新的Activity
.
Intent intent = new Intent(Current_Activity.this, Calling.class);
startActivity(intent);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)