IllegalArgumentException:在片段中找不到 id 的视图
IllegalArgumentException: No view found for id in fragments
我尝试搜索所有 SO 问题,但似乎是因为缺少 setContentView 或需要清理项目,我遇到的问题是 java.lang.IllegalArgumentException:找不到 ID 的视图,但它 "random" 我不能弄清楚为什么有些设备会抛出这个异常
Activity->FragmentA->嵌套片段
效果很好,但有时在我尝试打开我的应用程序时会崩溃,这是 OncreateView
中的代码
if(savedInstanceState==null)
{
try {
FragmentDestination f = FragmentDestination.newInstance(null,null);
f.setOnDestinationSelectedListener(this);
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.destinationHolder,f).commit();
}catch (IllegalArgumentException ex){ex.printStackTrace();}
}
这似乎运行良好,但有时会引发异常(destinationHolder 是一个 frameLayout 容器)
有时如果我使用
Activity->FragmentA->嵌套FragmentA->replaceFragmentA
使用下一个代码有时会引发异常。
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.nested_fragment_a,f).commit();
有什么建议吗?谢谢
可能是您的 activity 或片段未正确缓存,重新创建会使应用程序崩溃。
试试打电话
super.onCreate(null);
看看问题是否消失。如果是这样,那么您需要正确保存片段的实例状态,activity,以便正确地重新创建它们。
您可以阅读更多关于此问题的 here and here's a similar question。
我尝试搜索所有 SO 问题,但似乎是因为缺少 setContentView 或需要清理项目,我遇到的问题是 java.lang.IllegalArgumentException:找不到 ID 的视图,但它 "random" 我不能弄清楚为什么有些设备会抛出这个异常 Activity->FragmentA->嵌套片段 效果很好,但有时在我尝试打开我的应用程序时会崩溃,这是 OncreateView
中的代码if(savedInstanceState==null)
{
try {
FragmentDestination f = FragmentDestination.newInstance(null,null);
f.setOnDestinationSelectedListener(this);
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.destinationHolder,f).commit();
}catch (IllegalArgumentException ex){ex.printStackTrace();}
}
这似乎运行良好,但有时会引发异常(destinationHolder 是一个 frameLayout 容器)
有时如果我使用 Activity->FragmentA->嵌套FragmentA->replaceFragmentA 使用下一个代码有时会引发异常。
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.nested_fragment_a,f).commit();
有什么建议吗?谢谢
可能是您的 activity 或片段未正确缓存,重新创建会使应用程序崩溃。
试试打电话
super.onCreate(null);
看看问题是否消失。如果是这样,那么您需要正确保存片段的实例状态,activity,以便正确地重新创建它们。
您可以阅读更多关于此问题的 here and here's a similar question。