为什么onAttach()
方法对于活动和片段之间的通信是必需的
例如以下代码:-
public class SimpleFragment extends Fragment {
Fragmentinterface interf;
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof Fragmentinterface) {
interf = (Fragmentinterface) context;
} else {
throw new ClassCastException("exception message");
}
}
为什么interf = (Fragmentinterface) context;
必须将活动强制转换为界面刷新?
为什么Mainactivity实现接口并用方法主体调用接口方法并不那么简单,为什么还要在具有接口引用的fragment中调用该方法以在activity和fragment之间进行通信呢?
作为一个新手,我可能缺乏一些Java的核心知识...请解释
答案 0 :(得分:1)
为什么interf =(Fragmentinterface)上下文;将活动投向 界面刷新是必要的吗?
因为我们只想访问特定接口的方法,而不是MainActivity
的所有方法
为什么Mainactivity实现接口并没有那么简单 用方法主体调用接口方法
interf
是null
,首先我们需要对其进行初始化,在这里我们想将数据传递给活动,尽管其他活动方法也可以进一步使用数据,尽管您可以使用lambda,匿名类作为参数,但应在活动范围内完成,范围定义边界,一种通信方式是公共方法。
注意:尽管可以立即使用上下文,但是可以在以后的其他生命周期方法中进行强制转换,尽管onAttach是第一个使用context
的地方。