这和活动有什么区别。

2022-09-01 11:37:59

例如

Intent intent = new Intent(this, SecondActivity.class);

eclipse 错误:Intent 类型中的方法 setClass(Context, Class) 不适用于参数 (FirstActivity.ClickEvent, Class)

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);

但这是正确的。任何人都可以解释这两者之间的区别?谢谢。


答案 1

this引用当前对象。在你的例子中,你必须已经在一个内部类ClickEvent中实现了意图,这就是它所指向的。

Activity.this指向您当前所处的活动的实例。


答案 2

Shubhayu的答案是正确的,但我只想向任何看到这个问题的人明确这一点,如果你直接在活动中使用它,这是一样的thisActivity.this

这里回答了这个问题

例:

@Override
protected void onResume() {
    super.onResume();

    Log.d("Test", this.toString());
    Log.d("Test", MainActivity.this.toString());
}

结果:

D/Test: com.example.app.MainActivity@e923587
D/Test: com.example.app.MainActivity@e923587