android-为什么在主活动和片段之间通信时要实现接口
我有些不明白。现在,我正在阅读android开发者网站上的文档,其中写到,为了与片段通信,我应该实现接口。不过,现在我可以轻松访问主activitiy类中存在于片段上的小部件 例如,在主活动类中,通过发出以下命令,我可以访问fragment的TextViewandroid-为什么在主活动和片段之间通信时要实现接口,android,android-fragments,Android,Android Fragments,我有些不明白。现在,我正在阅读android开发者网站上的文档,其中写到,为了与片段通信,我应该实现接口。不过,现在我可以轻松访问主activitiy类中存在于片段上的小部件 例如,在主活动类中,通过发出以下命令,我可以访问fragment的TextView TextView t1=(TextView)findViewById(R.id.t1) 在这种情况下,我为什么需要实现接口?(请原谅我的无知和感谢)关于片段,您如何访问它所附加的活动的方法?您可以调用getActivity(),但这将只允许
TextView t1=(TextView)findViewById(R.id.t1)代码>
在这种情况下,我为什么需要实现接口?(请原谅我的无知和感谢)关于片段
,您如何访问它所附加的活动的方法?您可以调用getActivity()
,但这将只允许访问父Activity
对象可用的方法,而不是使用您自己的自定义方法实现它
要访问这些自定义方法,您需要告诉Java您知道您想要获得的特定的活动
就是您创建的活动,让我们称它为MyActivity
,它显然扩展了Activity
或它的一些其他实现,如ActionBarActivity
。在这种情况下,您可以调用((MyActivity)getActivity()).myMethod()代码>
现在的问题是,您正在将片段耦合到该特定活动。这样做,您将无法将您的片段用于项目中的任何其他活动,因为该特定片段将查找MyActivity
因此,您可以在接口中声明myMethod()
,并使您的活动实现它。如果将来您需要将片段与另一个活动一起使用,您所要做的就是让它也实现接口。这里有很多代码示例:。这些演示了如何使用活动
到适配器
的接口,与使用接口
的方式相同。可能重复的解释很好。非常感谢。