我正在尝试覆盖Android View类以略微调整功能。但我需要修改一个没有setter方法的字段。我已将子类放在名为android.widget
的包中。为什么我无法访问任何package-private成员字段?我注意到编译器说他们“无法解决”,而不是无法访问。这与Android.jar的构建方式有关吗?
答案 0 :(得分:4)
这些方法不是Android SDK的一部分,因此您无法直接从SDK应用程序中使用。如果要构建固件,可以直接访问它们。据推测,您的子类可以通过反射来获取它们,但请记住,在任何给定的Android版本中,这些字段(或任何其他非SDK内容)都会发生变化。
答案 1 :(得分:2)
这也是类加载器的副作用。你的android.widget包与系统使用的android.widget包不一样。