我很困惑我们应该在哪里使用
this,
className.this,
context,
getBaseContext
喜欢在1:
中使用它Intent i = new Intent(this, secondClass.class);
2:
Toast.makeText(className.this,"",...).show;
为什么我们不在这里使用上下文,还有其他人呢?
答案 0 :(得分:1)
这与className.this之间没有太大区别。
'this'表示“使用此对象”,因此className.this应该类似于“将此对象用作className类型的对象”。我看到两者都以相同的方式使用:如果要传递访问当前对象 我不确定这个但是也许className.this还包括尝试将“this”强制转换为类className(如果你在className2而不是className的对象中尝试className.this,可能会导致错误)
通常,下面示例中的thisTest1和2方法将导致相同的结果:
class MyActivity extends Activity {
void thisTest1() {
startActivity(new Intent(this, secondClass.class));
}
void thisTest2() {
startActivity(new Intent(MyActivity.this, secondClass.class));
}
}
getContaxt()和getBaseContext()之间的不同之处如下:第一个为您提供所使用的视图或活动的上下文对象(例如,活动上下文),而BaseContext是应用程序的上下文。我通常只使用基本上下文来进行与视图无关的操作,例如获取SharedPreference或数据库访问,同时坚持依赖于视图的活动上下文,例如创建一个新的View对象或获取一个Inflater - 我直到现在都运行得非常好。 / p>
答案 1 :(得分:0)
实质上,它是这样的:
Activity extends ContextThemeWrapper extends ContextWrapper extends Context
在大多数情况下,如果它显示Context
,那么您提供的任何内容都可以使用。