java - 重新编译 Android Launcher2 (Gingerbread)

标签 java android

我正在尝试重新编译 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/

相关文章:

java - 跑表。数秒。 javafx

android - 禁用 Firebase 云消息传递的分析服务

android - 二进制与文本文件 I/O 的速度差异是多少?

android - Eclipse/ADT 没有创建 main.xml 文件

java - 如何在Java Native Interface中获取Java "object"地址

java - 无法解析导入 org.springframework.web (gradle)

android - Nougat Camera API 中的 USB 网络摄像头支持

android - 无法从 Visual Studio 2017 启动 AVD Manager 或 SDK Manager

java - 如何将数据源 url 查询参数添加为 application.properties?

java - 带有 Jetty 的 https servlet