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