Java 界面是如何沟通的?需要一个详细的答案吗

Java 界面是如何沟通的?需要一个详细的答案吗,java,android,android-fragments,interface,Java,Android,Android Fragments,Interface,我有一个片段类: public class UploadFragmentOne extends Fragment {} 我将其分为: public interface Communicator { void communicate(int position); } 在onCreateView中: ((Communicator) getActivity()).communicate(1); 托管活动签名: public class DetailsPager ext

我有一个片段类:

public class UploadFragmentOne extends Fragment {}
我将其分为:

 public interface Communicator {
        void communicate(int position);
    }
在onCreateView中:

 ((Communicator) getActivity()).communicate(1);
托管活动签名:

public class DetailsPager extends FragmentActivity implements UploadFragmentOne.Communicator {} 
上述活动中的成员功能:

 public void communicate(int position) {
        Toast.makeText(DetailsPager.this, "Clicked " + position, Toast.LENGTH_LONG).show();
    }

这很有魅力,但我不明白怎么做?很抱歉,这可能太愚蠢了,但我想知道控件在其中是如何流动的

您应该看一下下面的内容- 现在来回答你的问题

(MyActivity)activity.some_method()
现在假设您要为另一个活动附加相同的片段,比如说
MainActivity
,那么您需要这样做-

(MainActivity)activity.some_method()
现在假设其他一些活动正在实现相同的片段,那么每次需要使用
instanceOf
检查并调用该方法并添加它时

再次假设一个简单的例子,当您要创建一个库,并且您要为特定事件提供一些结果交付时? 如何获取实例类型


顾名思义,接口提供了一种在没有实际类实例的情况下进行通信的方法。它们只需要实施。你可以在android API源的
视图中查看
OnClickListener

你能告诉我你没有得到什么吗?
((通信器)getActivity())。通信(1)
当我可以像
(MyActivity)activity.some_method()。
请澄清您的具体问题或添加其他详细信息以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参阅页面以获取澄清此问题的帮助。