【发布时间】:2017-12-20 07:05:48
【问题描述】:
我是 Android 开发新手,对OnAttach(Context context) 方法有疑问。据我了解,您在扩展 Fragment 的类中覆盖 OnAttach 方法,它的基本作用是将片段附加到作为参数传递的 Activity(Context) 上。但是,在我在互联网上看到的许多示例代码中,人们使用主 Activity 需要实现的方法创建接口,并且在 OnAttach 方法中,他们将上下文类型转换为 ex) 的接口)
public class exampleFragment extends Fragment{
exampleFragmentListener activityCommander;
public interface exampleFragmentListener{
public void someMethod(String top, String bot);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try{
activityCommander = (exampleFragmentListener)context;
}catch(Exception e){
throw new ClassCastException(context.toString());
}
}
我没有得到的是这段代码:
activityCommander = (exampleFragmentListener)context;
将上下文类型转换为exampleFragmentListener? 的目的是什么我们为什么要将我们的主要活动类型转换为片段?为什么主要活动不能只实现interface/implement接口方法?先感谢您。
【问题讨论】:
-
我认为你可以参考这个答案,它会解决你的问题stackoverflow.com/a/37031546/4980791
标签: java android android-fragments