java - 无法理解 Android Studio 上的 AnonymousClass5
问题描述
首先,很抱歉这个非常奇怪的问题。
我对 android 和 java 编程完全陌生。我在修理电脑时丢失了主要编写的源代码。所以我从编译的apk文件中提取了源代码。我完全搞糊涂了。
所有其他文件都可以。但在我的一个活动类文件中,我发现了一个术语“ AnonymousClass5 ”。我不知道这是我自己写的,还是替换了在提取 apk 文件时制作的东西。
我在网上搜索,但找不到任何参考。这是代码的一部分
public void processData() {
String[] data = this.receiveddata.split("@-'''==='''///'''==='''-@");
int datalen = data.length;
int i = 0;
while (i < datalen) {
String[] data1 = data[i].split("@-''==='''-@");
int sid = Integer.parseInt(data1[1]);
.........................
.........................
AnonymousClass5 r8 = r0;
final int i2 = sid;
AnonymousClass5 r0 = new View.OnClickListener() {
public void onClick(View v) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(-1, -1);
.........................
.........................
}
}
textView.setOnClickListener(r8);
i++;
data = data2;
}
}
它杀死了我的时间。我被困在这一点上。所以我正在寻求天才的帮助。
再次为这个奇怪的问题和我的小知识感到抱歉。
解决方案
Java 中没有像AnonymousClass5类这样的东西,但我认为在提取 apk 时,这个类是由编译器自动生成的。
要解决此问题,您应该将AnonymousClass5的引用替换为View.OnClickListener接口,如下面的代码:
View.OnClickListener r0 = new View.OnClickListener() {
public void onClick(View v) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(-1, -1);
.........................
.........................
}
}
textView.setOnClickListener(r8);
推荐阅读
- c# - Parallel.Foreach 和 for each 产生不同的结果:为什么我的代码不安全?
- flutter - 如何使图像选择器裁剪框圈?
- python - 使用 bandersnatch 下载特定 pypi 版本(3.7)的 PYPI 包
- azure - 特定标记名称的 Azure 策略
- laravel - 有没有一种方法可以在 laravel 中为管理员列出个人访问令牌
- reactjs - 在 ReactJS 中下载 PDF 文件可以在本地工作,但不能在 Amazon Amplify AWS 上工作,尝试过的解决方案仍然有问题
- python - python: dash 实况情节图例
- android - 如何为抽象片段使用 Jetpack 视图绑定
- ios - UiTableView 问题字符串未正确对齐
- progressive-web-apps - 带有 webpack.js 的渐进式网络应用程序