我正在尝试重新编译 Launcher2 (Gingerbread) 应用程序,以便我可以对其进行修改。
但是,我得到了一些错误(120ish),即:
mLeft、mTop、mBottom、mRight、mParent、mContext 无法解析为变量。
这些来自(无论如何我都能看到)“TextView”小部件的私有(private)成员。
有没有什么方法可以访问这些私有(private)成员,或者我需要做一些其他的魔法才能让它工作吗?
干杯!
最佳答案
这些指的是 View
和相关类的私有(private)/ protected 成员。他们中的很多人都有 getters/setters,例如以上所有(如果他们只是获得值(value))都可以用
getLeft()
、getTop()
、getBottom()
、getRight()
和 getContext()
View 类的方法。
虽然其中一些可能没有公共(public)方式来访问它们。在这种情况下,您可以:
- 将相关类复制到您的项目中并更改成员的可见性
- 使用反射(丑陋,可能会损坏)来修改其他类的私有(private)字段。
关于java - 重新编译 Android Launcher2 (Gingerbread),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5937675/