Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我不能从android.view继承受保护的字段?_Java_Android_View - Fatal编程技术网

Java 为什么我不能从android.view继承受保护的字段?

Java 为什么我不能从android.view继承受保护的字段?,java,android,view,Java,Android,View,我试图重写OffsetOpandBottomInt偏移方法,它是一个视图类方法。 但是当我试图访问mTop或MBOTOM字段时,即使它们在View类中受到保护,我也会得到一个错误 有人知道我为什么会有这种访问问题吗 例如: CustomView extend android.view.View{ someOverridenMethod() { mTop = 10 //error, mTop no resolved as a type } } 根据,没有名为mT

我试图重写OffsetOpandBottomInt偏移方法,它是一个视图类方法。 但是当我试图访问mTop或MBOTOM字段时,即使它们在View类中受到保护,我也会得到一个错误

有人知道我为什么会有这种访问问题吗

例如:

CustomView extend android.view.View{

   someOverridenMethod()
   {
       mTop = 10 //error, mTop no resolved as a type
   }
}
根据,没有名为mTop的成员或方法。

根据,没有名为mTop的成员或方法。

所有m{variables}都不可访问。就我的一生而言,我不记得为什么,与m{variables}不是公共API的一部分有关

我有一个类似的问题,经过几天的搜索,我发现这几乎是不可能的

我相信你可以试着调用View.layoutint left,int top,int right,int bottom

这将最终设置mTop值,此时您可以调用getTop。然而,有一种方法可以解决这个问题,您会发现,结果会调用许多其他方法。因此,这是否真的对您有帮助,还有待观察。

所有m{variables}都是不可访问的。就我的一生而言,我不记得为什么,与m{variables}不是公共API的一部分有关

我有一个类似的问题,经过几天的搜索,我发现这几乎是不可能的

我相信你可以试着调用View.layoutint left,int top,int right,int bottom



这将最终设置mTop值,此时您可以调用getTop。然而,有一种方法可以解决这个问题,您会发现,结果会调用许多其他方法。因此,这是否真的对您有帮助,还有待观察。

查看源代码的链接是的,这很奇怪。看起来这应该是可能的。你会遇到什么样的错误?据我所知,这是不可能的。查看源代码的链接是的,这很奇怪。看起来这应该是可能的。你会遇到什么样的错误?据我所知,这是不可能的。请检查添加的链接hi-android.info/src/android/view/view.java.htmlI确认存在受保护的成员mTop。如果有疑问,请检查源代码。检查您正在使用的android JAR。矿山未暴露任何非最终受保护构件。一般来说,如果它不在javadocs中,就不要尝试使用它。谷歌Romain Guy,看看你能不能找到一篇解释它的帖子。同时,老实说,这是不可能的,尽管看起来应该是这样。这与那些不是公共api一部分的成员有关。没错,这些不是公共api的一部分。如果您查看源代码,您将在注释中看到@hide命令构建系统对公共API隐藏它。这样做的原因是,允许直接访问成员变量会导致以后的维护问题:例如,如果应用程序更改了其中的值,则隐式地依赖于如何使用该值的实现细节。当应用程序设置该平台时,该平台的更高版本将无法捕获,因此必须假设它始终需要读取值。请检查添加的链接hi-android.info/src/android/view/view.java.htmlI确认存在受保护的成员mTop。如果有疑问,请检查源代码。检查您正在使用的android JAR。矿山未暴露任何非最终受保护构件。一般来说,如果它不在javadocs中,就不要尝试使用它。谷歌Romain Guy,看看你能不能找到一篇解释它的帖子。同时,老实说,这是不可能的,尽管看起来应该是这样。这与那些不是公共api一部分的成员有关。没错,这些不是公共api的一部分。如果您查看源代码,您将在注释中看到@hide命令构建系统对公共API隐藏它。这样做的原因是,允许直接访问成员变量会导致以后的维护问题:例如,如果应用程序更改了其中的值,则隐式地依赖于如何使用该值的实现细节。平台的后期版本在应用程序设置时无法捕捉,所以必须假定它总是需要读取该值。如果当前解决方案是基于编辑M顶或任何MValm的,那么我会考虑重新评估您的想法。我回到了教程,并试图坚持使用他们建议您坚持使用的onDraw和{method}。我试图使ListView从不同的偏移量开始。。如果你对我如何做有任何想法,请分享:滚动或设置位置行10,这是你的要求吗?我会考虑重新评估你的想法,如果你目前的解决方案是基于编辑MTOP或任何MValm的那件事。我回到了教程,并试图坚持使用他们建议您坚持使用的onDraw和{method}。我试图使ListView从不同的偏移量开始。。如果
你对我该怎么做有什么想法请分享:滚动或设置位置行10,这是你的要求吗?