我正在尝试使用谷歌分析跟踪OnClick事件:
ImageView info = (ImageView) findViewById(R.id.imageView9);
info.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
Intent info = new Intent(getApplicationContext(),Odot.class);
startActivity(info);
EasyTracker easyTracker = EasyTracker.getInstance(this);
easyTracker.send(MapBuilder
.createEvent(
"UI Action", // Event category (required)
"Button Pressed", // Event action (required)
"play", // Event label
null) // Event value
.build()
);
}
});
并收到错误:
The method getInstance(Context) in the type EasyTracker is not applicable for the arguments (new View.OnClickListener(){})
问题是什么?很抱歉这样的问题,我正在学习...... 谢谢。
答案 0 :(得分:0)
在问题之上有两行代码:getApplicationContext()
。
通常,要引用内部类的父级,请使用ParentClassName.this
而不是引用内部类实例的this
。
答案 1 :(得分:0)
如果您在内部类中使用this
,则将引用该内部类(在代码new View.OnClickListener(){}
中)。
如果你在一个活动中(我认为你的情况),你应该致电ActivityClass.this
。通过这种方式,您将引用活动的实例(传递活动正在使用的上下文)。否则,您可以传递使用getApplicationContext()