首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型getInstance中的方法EasyTracker (上下文)不适用

类型getInstance中的方法EasyTracker (上下文)不适用
EN

Stack Overflow用户
提问于 2014-01-26 18:43:42
回答 2查看 773关注 0票数 0

我正试图用谷歌的分析来跟踪OnClick事件,比如:

代码语言:javascript
复制
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()
         );

            }
        });

并得到错误:

代码语言:javascript
复制
The method getInstance(Context) in the type EasyTracker is not applicable for the arguments (new View.OnClickListener(){})

有什么问题吗?很抱歉有这样的问题,我在学习.谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-26 18:47:26

您有一个解决方案,在问题的前面两行:getApplicationContext()

通常,要引用内部类的父类,请使用ParentClassName.this而不是引用内部类实例的this

票数 0
EN

Stack Overflow用户

发布于 2014-01-26 19:17:20

如果在内部类中使用this,则将引用该内部类(在代码new View.OnClickListener(){}中)。

如果您在一个活动中(我认为是您的情况),您应该调用ActivityClass.this。通过这种方式,您将引用该活动的实例(传递活动正在使用的上下文。)。否则,可以传递getApplicationContext()返回的上下文。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21367624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档