android - FragmentActivity 在 onStart 中崩溃

标签 android android-fragments android-fragmentactivity

出于某种原因,我的应用程序在 super.onCreate 中崩溃并出现 nullPointerException。 它是一个扩展了 fragmentActivity 的 Activity 。

public class LiveMatchActivity extends FragmentActivity

那是我的 onStart():

@Override
protected void onStart() {
    super.onStart();
    Analytics.getIntance().trackStart(this);
}

当我到达 super.onStart() 时,应用崩溃了。

这是日志:

    05-20 11:22:42.735: E/Crittercism(29328): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ftbpro.app/com.ftbpro.app.LiveMatchActivity}: java.lang.NullPointerException
05-20 11:22:42.735: E/Crittercism(29328):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
05-20 11:22:42.735: E/Crittercism(29328):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
05-20 11:22:42.735: E/Crittercism(29328):   at android.app.ActivityThread.access$600(ActivityThread.java:140)
05-20 11:22:42.735: E/Crittercism(29328):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
05-20 11:22:42.735: E/Crittercism(29328):   at android.os.Handler.dispatchMessage(Handler.java:99)
05-20 11:22:42.735: E/Crittercism(29328):   at android.os.Looper.loop(Looper.java:137)
05-20 11:22:42.735: E/Crittercism(29328):   at android.app.ActivityThread.main(ActivityThread.java:4898)
05-20 11:22:42.735: E/Crittercism(29328):   at java.lang.reflect.Method.invokeNative(Native Method)
05-20 11:22:42.735: E/Crittercism(29328):   at java.lang.reflect.Method.invoke(Method.java:511)
05-20 11:22:42.735: E/Crittercism(29328):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
05-20 11:22:42.735: E/Crittercism(29328):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
05-20 11:22:42.735: E/Crittercism(29328):   at dalvik.system.NativeStart.main(Native Method)
05-20 11:22:42.735: E/Crittercism(29328): Caused by: java.lang.NullPointerException
05-20 11:22:42.735: E/Crittercism(29328):   at com.ftbpro.app.EventsFragment.filterAndSortEventsList(EventsFragment.java:211)
05-20 11:22:42.735: E/Crittercism(29328):   at com.ftbpro.app.EventsFragment.onCreateView(EventsFragment.java:57)
05-20 11:22:42.735: E/Crittercism(29328):   at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-20 11:22:42.735: E/Crittercism(29328):   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-20 11:22:42.735: E/Crittercism(29328):   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-20 11:22:42.735: E/Crittercism(29328):   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1070)
05-20 11:22:42.735: E/Crittercism(29328):   at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1861)
05-20 11:22:42.735: E/Crittercism(29328):   at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)
05-20 11:22:42.735: E/Crittercism(29328):   at com.ftbpro.app.LiveMatchActivity.onStart(LiveMatchActivity.java:77)
05-20 11:22:42.735: E/Crittercism(29328):   at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1178)
05-20 11:22:42.735: E/Crittercism(29328):   at android.app.Activity.performStart(Activity.java:5216)
05-20 11:22:42.735: E/Crittercism(29328):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2073)
05-20 11:22:42.735: E/Crittercism(29328):   ... 11 more

private void filterAndSortEventsList(LiveMatchDetails liveMatchDetailsToSort) {
    List<Event> eventsList = new ArrayList<Event>();
    Event gameStartedEvent = null;
    Event gameEndedEvent = null;
    for (Event event : liveMatchDetailsToSort.getEventsList()) {
        if (event.getEvent().equals(Event.YELOW_CARD)
                || event.getEvent().equals(Event.YELOW_CARD2)
                || event.getEvent().contains(Event.GOAL)
                || event.getEvent().equals(Event.RED_CARD)) {
             eventsList.add(event);
        }
        if (event.getExtObjType().equals(GAME_STARTED_OR_ENDED)) {
            if (event.getMinute() == 0) {
                gameStartedEvent = event;
            } else if (event.getMinute() == 90) {
                 gameEndedEvent = event;
            }
        }
    }
    Collections.sort(eventsList);
    if (gameEndedEvent != null) {
        eventsList.add(0, gameEndedEvent);
    }
    eventsList.add(gameStartedEvent);
    liveMatchDetailsToSort.setEventsList(eventsList);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.events_fragments, container,
            false);
    TypefaceManager.getInstance(getActivity())
            .assignTypeface(getActivity());
    events = ((LiveMatchActivity) getActivity()).getEvents();

    filterAndSortEventsList(events);
    ListView eventsListView = (ListView) view
            .findViewById(R.id.live_match_list);
    eventsListView.setAdapter(new LiveEventsAdapter());

    return view;
}

它会是什么?

最佳答案

它没有在 super.onStart() 上崩溃这里有问题

at com.ftbpro.app.EventsFragment.filterAndSortEventsList(EventsFragment.java:211)

如果您可以粘贴 EventsFragment.java 文件的代码,我们可以尝试以更好的方式帮助您。

关于android - FragmentActivity 在 onStart 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16645458/

相关文章:

Android 抽屉导航 fragment 状态

java - Android 4.2.2 Wifi-Direct adhoc 网络——访问隐藏的 android 方法来设置 SSID 和密码?

java - 如何在android中为联系人添加新字段

java - fragment 中的空指针异常

java - android fragment 未附加到 Activity

android - 当应用程序恢复时,关闭的对话框 fragment 再次出现

android - 无法覆盖主题的默认文本颜色(android)

android - 从 sqlite 中获取数据,WHERE 子句中的错误

安卓运行时异常 : requestFeature() must be called before adding content

android - fragment 内的 LocationManager