为什么我不能访问android.widget包中的package-private字段?

时间:2010-10-07 22:06:06

标签: java android access-modifiers package-private

我正在尝试覆盖Android View类以略微调整功能。但我需要修改一个没有setter方法的字段。我已将子类放在名为android.widget的包中。为什么我无法访问任何package-private成员字段?我注意到编译器说他们“无法解决”,而不是无法访问。这与Android.jar的构建方式有关吗?

2 个答案:

答案 0 :(得分:4)

这些方法不是Android SDK的一部分,因此您无法直接从SDK应用程序中使用。如果要构建固件,可以直接访问它们。据推测,您的子类可以通过反射来获取它们,但请记住,在任何给定的Android版本中,这些字段(或任何其他非SDK内容)都会发生变化。

答案 1 :(得分:2)

这也是类加载器的副作用。你的android.widget包与系统使用的android.widget包不一样。