Android 当容器中没有碎片时,应用程序崩溃。如何避免这种情况?

Android 当容器中没有碎片时,应用程序崩溃。如何避免这种情况?,android,android-fragments,Android,Android Fragments,我下面的代码在有片段但没有片段应用程序崩溃的情况下工作…如何避免这种情况…我无法理解前面提问的问题中给出的答案 FloatingActionButton bt_home = (FloatingActionButton) findViewById(R.id.home); bt_home.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view

我下面的代码在有片段但没有片段应用程序崩溃的情况下工作…如何避免这种情况…我无法理解前面提问的问题中给出的答案

FloatingActionButton bt_home = (FloatingActionButton) findViewById(R.id.home);
    bt_home.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {


                    getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.myFrame)).commit();
        }
    });

基本上,当应用程序尝试使用具有
null
值的对象引用时,会引发
NullPointerException

因此,在使用
片段之前,在
片段上添加一个
null
检查。
试试这个:

FragmentManager fm = getFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.myFrame);
if (fragment != null) {
    fm.beginTransaction().remove(fragment).commit();
}

基本上,当应用程序尝试使用具有
null
值的对象引用时,会引发
NullPointerException

因此,在使用
片段之前,在
片段上添加一个
null
检查。
试试这个:

FragmentManager fm = getFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.myFrame);
if (fragment != null) {
    fm.beginTransaction().remove(fragment).commit();
}

你说它崩溃是什么意思?你能从logcat发布堆栈跟踪吗?它给出了一个错误java.lang.NullPointerException:试图在android.app.BackStackRecord.run(BackStackRecord.java:779)@jayeshsolanki93的空对象引用上写入字段'int-android.app.Fragment.mNextAnim'。你说它崩溃是什么意思?您可以从logcat发布堆栈跟踪吗?它给出了以下错误java.lang.NullPointerException:尝试在android.app.BackStackRecord.run(BackStackRecord.java:779)的空对象引用上写入字段“int android.app.Fragment.mNextAnim”@jayeshsolanki93很好,它正在工作…但很抱歉,我不能投票给你,因为双击…现在它不允许我投票…@jayeshsolanki93很好,它正在工作…但是很抱歉,我不能投票给你,因为双击…现在它不允许我投票…@jayeshsolanki93