2

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

4

2 回答 2

4

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

于 2010-10-07T23:02:26.647 回答
2

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

于 2010-10-07T23:17:22.737 回答