如何确定何时在运行时调用接口方法?

问题描述 投票:2回答:1

考虑一下明确的OnTouchListener的documentationfor:

将触摸事件调度到视图时调用。

完善!我知道了。我正在寻找关于接口方法的这种描述,这些接口方法可以重载以创建自定义动画,行,适配器等等。

把这个documentation作为我的混淆的一个例子,作为适配器接口的getView()方法。我的理解是,随着适配器需要一个新视图,android会调用getView(),就像滚动列表视图并添加一个新单元格一样。但我不知道如何从文档中得出结论。

对于getView(),它看起来很直观。但是其他接口如SectionIndexor我认为不是。我经常为重载接口方法而烦恼,因为我无法弄清楚它们在运行时是如何交互的。这记录了吗?

java android xamarin.android android-runtime
1个回答
1
投票

Microsoft文档定义了一个接口,如下所示:

接口包含类或结构可以实现的一组相关功能的定义。

Java和C#接口存在细微差别,可以找到here。 (假设你来自Java背景)

现在,您在抽象类的重写方法和接口方法之间存在混淆。 Check the difference here

GetView方法是一个名为BaseAdapter的Android抽象类的方法。 Base Adapter abstract class,因此获取信息,首先你需要查看BaseAdapter然后找到GetView方法。在那里,您可以获得该方法的确切描述及其功能。注意:Xamarin.Android的工作原理与原生Android完全相同,因此您可以使用相同的文档来理解这些方法。

注意:实现不同于C#到Java。

现在,例如一个接口就是IOnMapReadyCallback,它被Xamarin.Android用作回调,以检查地图是否可以使用。

现在C#中的接口根据它们的命名约定以I开头。例如:Android java OnTouchListener接口成为Xamarin Android中的IOnTouchListener,依此类推。

现在,如果您使用接口方法,则只定义此方法,并且必须在您继承它的类中使用该方法,因此此方法将添加到该类,并且不会像它一样被覆盖的方法在抽象类的情况下。

现在,如果您想了解何时调用接口方法,您需要检查该接口的Android文档,例如OnMapReadyCallback然后找到您需要了解的方法,即onMapReady

如果您不理解任何还原。

祝好运!

快乐的编码。

© www.soinside.com 2019 - 2024. All rights reserved.