Android W/System.err:java.lang.IllegalStateException:片段xxxxx未附加到上下文

Android W/System.err:java.lang.IllegalStateException:片段xxxxx未附加到上下文,android,illegalstateexception,Android,Illegalstateexception,我不断地得到一个非法的例外 W/System.err: java.lang.IllegalStateException: Fragment RunScenarioFragment{8b6deff} (3523a253-d2c8-49f3-95ea-33bbbc0c308a)} not attached to a context. 在这一行: Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.green_ch

我不断地得到一个非法的例外

W/System.err: java.lang.IllegalStateException: Fragment RunScenarioFragment{8b6deff} (3523a253-d2c8-49f3-95ea-33bbbc0c308a)} not attached to a context.
在这一行:

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.green_check);
我看过其他帖子,但对安卓工作室有些陌生,很难根据我的问题调整他们的解决方案。任何帮助都将不胜感激

根据评论进行更新

这种情况并非每次都发生。只有在我切换屏幕/片段(底部导航)并单击启动此过程的项目之后。它发生在片段的onCreate方法中的匿名例程中。

从片段调用时,getResources()方法在内部返回requireActivity().getResources()

如果当前未与活动关联或仅与上下文关联,则requireAction()将引发IllegalStateException

您提到中的代码是从片段的onCreate方法调用的。当片段的活动仍在创建过程中时,可以调用此方法


如果需要实例化用户界面,则将代码段从onCreate方法移动到onCreateView方法;或者您可以将其移动到onActivityCreated。

在哪里执行“此行”?如果在系统调用之前调用它,则onAttach片段将没有上下文。请参阅其他注释。片段的onCreate方法中的匿名子例程。它在使用底部导航更改片段后间歇性发生。它在片段中观察者的onChanged事件中被调用,该事件是从片段的onCreateView事件中设置的回收器视图适配器的OnItemClick事件中被调用的。