Android 无法使用java.lang.NullPointerException启动活动ComponentInfo

Android 无法使用java.lang.NullPointerException启动活动ComponentInfo,android,nullpointerexception,fragment,runtimeexception,Android,Nullpointerexception,Fragment,Runtimeexception,我使用了活动并包含了许多片段。有时,应用程序强制停止,日志目录如下。 谁能告诉我如何解决这些问题。非常感谢 使用android:3.1。测试星系标签7(GT-P3100) 有了这个日志猫,我在我的项目中找不到我的代码 java.lang.RuntimeException: Unable to start activity ComponentInfo{mypackage/myActivity}: java.lang.NullPointerException --------- Stack trac

我使用了活动并包含了许多片段。有时,应用程序强制停止,日志目录如下。 谁能告诉我如何解决这些问题。非常感谢

使用android:3.1。测试星系标签7(GT-P3100)

有了这个日志猫,我在我的项目中找不到我的代码

java.lang.RuntimeException: Unable to start activity ComponentInfo{mypackage/myActivity}: java.lang.NullPointerException
--------- Stack trace ---------
    android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
    android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122)
    android.app.ActivityThread.access$600(ActivityThread.java:140)
    android.app.ActivityThread$H.handleMessage(ActivityThread.java:1228)
    android.os.Handler.dispatchMessage(Handler.java:99)
    android.os.Looper.loop(Looper.java:137)
    android.app.ActivityThread.main(ActivityThread.java:4895)
    java.lang.reflect.Method.invokeNative(Native Method)
    java.lang.reflect.Method.invoke(Method.java:511)
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
    com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
    dalvik.system.NativeStart.main(Native Method)
--------- Cause ---------

java.lang.NullPointerException
    android.app.BackStackRecord.popFromBackStack(BackStackRecord.java:676)
    android.app.FragmentManagerImpl.popBackStackState(FragmentManager.java:1492)
    android.app.FragmentManagerImpl$3.run(FragmentManager.java:460)
    android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
    android.app.Activity.performStart(Activity.java:5172)
    android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2070)
    android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122)
    android.app.ActivityThread.access$600(ActivityThread.java:140)
    android.app.ActivityThread$H.handleMessage(ActivityThread.java:1228)
    android.os.Handler.dispatchMessage(Handler.java:99)
    android.os.Looper.loop(Looper.java:137)
    android.app.ActivityThread.main(ActivityThread.java:4895)
    java.lang.reflect.Method.invokeNative(Native Method)
    java.lang.reflect.Method.invoke(Method.java:511)
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
    com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
    dalvik.system.NativeStart.main(Native Method)
-------------------------------
我不知道在任何情况下应用程序强制停止。但当切换片段如下时,我会发布我的代码:

开关片段:

Activity base = null;
if (e.sender instanceof Activity) {
    base = (Activity) e.sender;
} else if (e.sender instanceof Fragment) {
    base = ((Fragment) e.sender).getActivity();
}

FragmentManager fm = base.getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();

removeAllInBackStack(fm);
NoteListView note = (NoteListView) base.getFragmentManager().findFragmentByTag(NoteListView.TAG);
if (note == null) {
    note = NoteListView.newInstance();
    ft.replace(R.id.fragDetail, note, NoteListView.TAG);
} else {
    ft.remove(note);
    note = NoteListView.newInstance();
    ft.replace(R.id.fragDetail, note, NoteListView.TAG);
}
ft.addToBackStack(NoteListView.TAG);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
public void removeAllInBackStack(FragmentManager fm) {
    for (int i = 0; i < fm.getBackStackEntryCount(); i++) {
        fm.popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }
}
删除片段:

Activity base = null;
if (e.sender instanceof Activity) {
    base = (Activity) e.sender;
} else if (e.sender instanceof Fragment) {
    base = ((Fragment) e.sender).getActivity();
}

FragmentManager fm = base.getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();

removeAllInBackStack(fm);
NoteListView note = (NoteListView) base.getFragmentManager().findFragmentByTag(NoteListView.TAG);
if (note == null) {
    note = NoteListView.newInstance();
    ft.replace(R.id.fragDetail, note, NoteListView.TAG);
} else {
    ft.remove(note);
    note = NoteListView.newInstance();
    ft.replace(R.id.fragDetail, note, NoteListView.TAG);
}
ft.addToBackStack(NoteListView.TAG);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
public void removeAllInBackStack(FragmentManager fm) {
    for (int i = 0; i < fm.getBackStackEntryCount(); i++) {
        fm.popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }
}
public void removeallbackstack(FragmentManager fm){
对于(int i=0;i
包含片段的布局活动:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/WHITE"
    android:orientation="horizontal" >

    <ListView android:background="@drawable/bg_vnm_menu_none"
        android:id="@+id/lvMenu" android:padding="0dp"
        android:layout_width="50dp"
        android:layout_height="fill_parent" >
    </ListView>

    <FrameLayout 
        android:id="@+id/fragDetail"
        android:layout_width="0px"
        android:layout_height="fill_parent"
        android:layout_weight="1" >
    </FrameLayout>

</LinearLayout>


您需要包含代码。可能有很多原因,主要原因之一是:您的应用程序在不一致的状态下将碎片放回堆栈。你需要发布片段处理代码。谁能帮我检查这个错误。非常感谢!