gpt4 book ai didi

android - 无法引用 ((MainActivity) getApplication()).getTracker(MainActivity.TrackerName.APP_TRACKER);

转载 作者:行者123 更新时间:2023-11-29 17:47:14 26 4
gpt4 key购买 nike

我正在尝试将 Google Analytics 集成到我的应用程序中,并遵循来自 here 的教程一切就绪:

我有一个 MainActivity,它扩展了 Activity 并附加了三个 Tab Fragments,我在这个 Activity 中初始化代码如下:

private static final String PROPERTY_ID = "UA-xxxxxx";

//Logging TAG
private static final String TAG = "MyApp";

public static int GENERAL_TRACKER = 0;

public enum TrackerName {
APP_TRACKER,
GLOBAL_TRACKER,
ECOMMERCE_TRACKER,
}

HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();

public MainActivity() {
super();
}

synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {

GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(R.xml.app_tracker)
: (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(PROPERTY_ID)
: analytics.newTracker(R.xml.ecommerce_tracker);
mTrackers.put(trackerId, t);

}
return mTrackers.get(trackerId);
}

现在在我尝试执行的选项卡之一中:

((MainActivity) getApplication()).getTracker(MainActivity.TrackerName.APP_TRACKER);

但是我得到以下信息:

无法在上述代码行中从 Application 转换为 MainActivity。有什么提示吗?我尝试在其中使用它的 fragment 具有以下签名:

public class FragmentTab1 extends Fragment

最佳答案

如果您在 fragment 内调用它,也许您需要改为调用 getActivity?

((MainActivity) getActivity()).getTracker(MainActivity.TrackerName.APP_TRACKER); 

关于android - 无法引用 ((MainActivity) getApplication()).getTracker(MainActivity.TrackerName.APP_TRACKER);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com