我目前正在使用Android应用,它突然给了我这些错误
避免片段中的非默认构造函数:使用默认构造函数加上Fragment #setArguments(Bundle)
和
此片段应提供默认构造函数(不带参数的公共构造函数)
这是代码:
public AFragment newInstance(int sectionNumber, Context context)
{
AFragment fragment = new AFragment(context);
Bundle args = new Bundle();
args.putLong(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
public AFragment(Context context)
{
mContext = context;
}
如何使用片段的getActivity()方法传递上下文(mContext = context)?
答案 0 :(得分:2)
您永远不需要将Context传递给Fragment。
您可以从newInstance
参数中删除
无论您在Fragment中使用该Context字段,都可以使用getActivity()替换它。
如果您确实想要使用某个字段,则必须在onAttach
中指定该字段并记住在片段停止或从任何活动中分离时取消分配
答案 1 :(得分:0)
片段是孩子或活动的一部分。因此,只要您想要片段中的上下文,就可以使用getActivity()作为上下文。