【发布时间】:2012-08-30 19:43:27
【问题描述】:
在此处的 Android 文档中:http://developer.android.com/guide/components/fragments.html A Fragment 实现了一个接口。
在 onAttach() 回调中,似乎将当前 Activity 转换为接口。从概念上讲,这怎么可能,并且是原版 Java 中相同类型的强制转换标准实践?
public static class FragmentA extends ListFragment {
// Container Activity must implement this interface
public interface OnArticleSelectedListener {
public void onArticleSelected(Uri articleUri);
OnArticleSelectedListener mListener;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnArticleSelectedListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement OnArticleSelectedListener");
}
}
...
}
【问题讨论】: