首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接口类在片段中的用途是什么?

问接口类在片段中的用途是什么?
EN

Stack Overflow用户
提问于 2017-02-13 18:31:57
回答 4查看 1.6K关注 0票数 1

我已经创建了一个片段,在这个片段中找不到接口类的用途.我搜索它,但是找不到正确的文档?

谢谢您的关心!

代码语言:javascript
复制
public class SongListFragment extends Fragment {

        public SongListFragment() {
            // Required empty public constructor
        }

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            if (getArguments() != null) {
                songIds = getArguments().getIntArray(SONG_IDS);
            }
        }
      @Override
        public void onAttach(Context context) {
            super.onAttach(context);
            if (context instanceof OnFragmentInteractionListener) {
                mListener = (OnFragmentInteractionListener) context;
            } else {
                throw new RuntimeException(context.toString()
                        + " must implement OnFragmentInteractionListener");
            }
        }



//what's the use?  
public interface OnFragmentInteractionListener {
            public void onSongSelected(int songId);
        }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-02-13 18:49:32

OnFragmentInteractionListener可用于片段间的沟通

为了允许Fragment与其活动进行通信,您可以在Fragment类中定义一个接口并在活动中实现它。片段在其onAttach()生命周期方法中捕获接口实现,然后可以调用接口方法,以便与活动通信。

找到另一个这样的例子这里

票数 2
EN

Stack Overflow用户

发布于 2017-02-13 18:37:40

接口是Java中的引用类型。它和课堂很相似。它是抽象方法的集合。类实现接口,从而继承接口的抽象方法。

除了抽象方法之外,接口还可能包含常量、默认方法、静态方法和嵌套类型。方法体只存在于默认方法和静态方法中。

编写接口类似于编写类。但是类描述对象的属性和行为。接口包含类实现的行为。

除非实现接口的类是抽象的,否则接口的所有方法都需要在类中定义。

您可能对这里有一个简短的想法,您可以随意询问是否会出现任何混淆!:)

因此,在特定情况下,您的活动必须实现interface OnFragmentInteractionListener,否则附加在Activity中的片段无法相互通信。你的活动应该像

代码语言:javascript
复制
public class YourActivity extends Activity implements OnFragmentInteractionListener

然后在您的Activity中实现onSongSelected(int songId)方法,您可以从这里。希望获得帮助,这很有帮助!

票数 2
EN

Stack Overflow用户

发布于 2017-02-13 18:41:58

@Tahmid解释了那里的界面是什么,答案是什么。

在这种特殊情况下,接口应该在您的片段附加到的活动中实现。这将允许片段对活动调用onSongSelected()。然后,该活动可以相应地处理用户请求的操作。

如果没有接口,就不会有一种定义良好的方法让片段告诉它的父活动用户单击了一首歌。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42211034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档