当前位置: 首页 > 知识库问答 >
问题:

GoogleAnalytics android getActivity()。getApplication()无法转换为AnalyticsApplication

姚晋
2023-03-14

这是我得到错误的代码

@Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        // Obtain the shared Tracker instance.
        AnalyticsApplication application = (AnalyticsApplication) getActivity().getApplication();
        mTracker = application.getDefaultTracker();
}

这是我的AnalyticsApplication类

package auc.games2.Analytics;
/*
 * Copyright Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


        import android.app.Application;

        import com.google.android.gms.analytics.GoogleAnalytics;
        import com.google.android.gms.analytics.Logger;
        import com.google.android.gms.analytics.Tracker;

        import auc.games2.R;

/**
 * This is a subclass of {@link Application} used to provide shared objects for this app, such as
 * the {@link Tracker}.
 */
public class AnalyticsApplication extends Application {
    private Tracker mTracker;

    /**
     * Gets the default {@link Tracker} for this {@link Application}.
     * @return tracker
     */
    synchronized public Tracker getDefaultTracker() {
        if (mTracker == null) {
            GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
            // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
            mTracker = analytics.newTracker(R.xml.global_tracker);
        }
        return mTracker;
    }
}

这是logcat上的错误

03-09 18:46:11.070 32602-32602/auc。games2.multigame1 E/AndroidRuntime:致命异常:主html" target="_blank">java。lang.ClassCastException:android。应用程序。无法将应用程序转换为auc。游戏2.分析。auc的分析应用。games2.UI。碎片。特别的。onViewCreated(inicial.java:127)在android上。应用程序。FragmentManagerImpl。android上的moveToState(FragmentManager.java:843)。应用程序。FragmentManagerImpl。android上的moveToState(FragmentManager.java:1035)。应用程序。回溯记录。在android上运行(backbackrecord.java:635)。应用程序。FragmentManagerImpl。android上的ExependingActions(FragmentManager.java:1399)。应用程序。FragmentManagerImpl 1美元。在android上运行(FragmentManager.java:426)。操作系统。处理程序。android上的handleCallback(Handler.java:615)。操作系统。处理程序。android上的dispatchMessage(Handler.java:92)。操作系统。活套。android上的loop(Looper.java:137)。应用程序。ActivityThread。java上的main(ActivityThread.java:4867)。朗,反思一下。方法java上的invokenactive(本机方法)。朗,反思一下。方法在com上调用(方法java:511)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:1007)。Android内部的操作系统。合子岩。dalvik的main(ZygoteInit.java:774)。系统NativeStart。main(本机方法)

共有1个答案

陶树
2023-03-14

您的AndroidManifest。xml文件不包含自定义的应用程序子类,因此Android使用默认的子类(Android.app.Application)。

在你的<代码>

 类似资料:
  • 问题内容: 我有包含我的上下文的课程。但是,当我编译时,在这一行中出现了另一个类: 类: 错误: AndroidManifest.xml: 问题答案: 您需要在清单中指定以使用自定义应用程序。 这是完整的

  • 问题内容: 为什么写: 问题答案: 实现的对象是。 您要在其中覆盖的方法应将对象作为参数,而将其强制转换为。您的实现应描述如何与另一个进行比较。 要真正进行排序,您可能还需要制作工具,然后将实际逻辑复制粘贴到其中。

  • 问题内容: 我当前正在使用条件来检索用户的详细信息,但是当尝试用合适的用户查询详细信息对象时,我得到了ClassCastException。 我的标准代码; 我也尝试使用; 两者都给我ClassCastException。我知道我可以通过让用户实现Serializable来轻松解决它,但是还有其他解决方案吗? 问题答案: 唯一的其他解决方案是实现Externalizable。

  • 问题内容: 我已经编写了一个通用类,下面是该类的构造函数。我想像这样写 由于我不知道运行时的泛型类型,因此它将引发异常。 有什么办法解决这些问题?E的声明是 这就是我要打电话的方式 更新 家伙,谢谢您的帮助。我在搞泛型,所以问题就被创建了。这是所有导致问题的代码- 更新2 :似乎除了传递下面的答案中提到的类类型外,我们无法做到这一点。 问题答案: 这是重现异常所需的最最少的代码。 Java泛型使用

  • 问题内容: 在我的应用程序中,我为gcm ccs(xmpp)运行这些代码,并且代码显示以下错误执行时发生错误 这是代码: 问题答案: 您如何申报?我想它是简单的,如果是这样,请将其更改为: 此异常的原因与以下代码中发生的原因类似: Java中的VarArgs是作为数组实现的,因此,当您将sendTask声明为as时,编译器将使用with进行调用,但是当您将then 声明为then 时,则将使用wi

  • 问题内容: 我的程序看起来像 数据看起来像 在运行该程序时,我在控制台上看到以下内容 我相信Class Types是正确映射的, Class Mapper , 请让我知道我在这里做错了什么吗? 问题答案: 当您使用M / R程序读取文件时,映射器的输入键应为 文件中该行的索引 ,而输入值将为整行。 因此,这里正在发生的事情是您试图将行索引作为错误的对象,并且您需要一个替代项,以便Hadoop不会抱