当启动另一个活动时,使用方法startActivity(someintent)
,该意图同时包含上下文和类对象的参数this
。
this
参数的用途是什么,因为上下文已经知道,因为活动本身是上下文的子类?并且,鉴于我创建了一个意图:
Intent myIntent = new Intent(this,someclass.class);
在创建startActivity
时指定的this
上下文中,我只能使用方法myIntent
。换句话说,我不能将startActivity
与其他活动使用相同的意图。
答案 0 :(得分:1)
有几个原因:
this
时,您无需使用Intent
作为上下文。 (例如,您可以创建一个ContextThemeWrapper
来应用单独的主题。)Intent
外部调用Activity
构造函数。无论如何,Intent
构造函数无法知道哪个对象正在调用构造函数(如果有的话甚至可以从静态上下文中调用它)。Intent
之外,startActivity()
还有其他用途。