29

例如

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

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

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

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

4

4 回答 4

53

this指您当前的对象。在您的情况下,您必须在内部类 ClickEvent 中实现了意图,这就是它所指向的。

Activity.this指向您当前所在的 Activity 实例。

于 2012-04-11T08:12:02.923 回答
4

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

这是回答here

例子:

@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
于 2019-03-13T12:52:52.493 回答
2

当您指向此内部点击事件时,它指向点击侦听器。

于 2012-04-11T08:09:14.403 回答
-1

您打算将控制权从一个活动转移到另一个活动,为此您必须基本上指定一个事件,因此会出现错误。这意味着整个活动和第一个活动。这意味着发生事件,例如单击按钮......

于 2012-04-11T08:11:44.807 回答