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()。
请澄清您的具体问题或添加其他详细信息以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参阅页面以获取澄清此问题的帮助。