- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道我不应该使用这种方法,但出于测试目的我是。我创建了一个扩展 LinearLayout
并实现 Serializable
的类,以便能够将整个布局保存到一个文件中。
向此布局添加 View 后,我将其成功写入文件。但是当回读对象时,我得到一个错误 IllegalAcessException
;有什么办法可以解决这个问题吗?
CustomLayout.class
public class CustomLayout extends LinearLayout implements Serializable{
public static final long serialVersionUID = 1000;
public LinearLayout_Serializable(Context context) {
super(context);
}
public LinearLayout_Serializable(Context context, AttributeSet attributeset){
super(context,attributeset);
}
}
有什么帮助吗?提前致谢
完全错误
02-23 12:06:01.165: W/System.err(21887): java.io.InvalidClassException: android.widget.LinearLayout; IllegalAccessException
02-23 12:06:01.165: W/System.err(21887): at java.io.ObjectStreamClass.resolveConstructorClass(ObjectStreamClass.java:692)
02-23 12:06:01.165: W/System.err(21887): at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:653)
02-23 12:06:01.165: W/System.err(21887): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1819)
02-23 12:06:01.165: W/System.err(21887): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
02-23 12:06:01.165: W/System.err(21887): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
02-23 12:06:01.165: W/System.err(21887): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2006)
02-23 12:06:01.165: W/System.err(21887): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1963)
02-23 12:06:01.165: W/System.err(21887): at com.example.fastlayout.MainActivity.readFromFile(MainActivity.java:232)
02-23 12:06:01.165: W/System.err(21887): at com.example.fastlayout.MainActivity.onCreate(MainActivity.java:102)
02-23 12:06:01.165: W/System.err(21887): at android.app.Activity.performCreate(Activity.java:5372)
02-23 12:06:01.165: W/System.err(21887): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
02-23 12:06:01.165: W/System.err(21887): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
02-23 12:06:01.165: W/System.err(21887): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
02-23 12:06:01.165: W/System.err(21887): at android.app.ActivityThread.access$700(ActivityThread.java:159)
02-23 12:06:01.165: W/System.err(21887): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
02-23 12:06:01.170: W/System.err(21887): at android.os.Handler.dispatchMessage(Handler.java:99)
02-23 12:06:01.170: W/System.err(21887): at android.os.Looper.loop(Looper.java:176)
02-23 12:06:01.170: W/System.err(21887): at android.app.ActivityThread.main(ActivityThread.java:5419)
02-23 12:06:01.170: W/System.err(21887): at java.lang.reflect.Method.invokeNative(Native Method)
02-23 12:06:01.170: W/System.err(21887): at java.lang.reflect.Method.invoke(Method.java:525)
02-23 12:06:01.170: W/System.err(21887): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
02-23 12:06:01.170: W/System.err(21887): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
02-23 12:06:01.170: W/System.err(21887): at dalvik.system.NativeStart.main(Native Method)
最佳答案
好像他ObjectStreamClass正在寻找一个空的构造函数来实例化您的自定义类。
// Has to have an empty constructor
if (constructor == null) {
String className = constructorClass != null ? constructorClass.getName() : null;
throw new InvalidClassException(className, "IllegalAccessException");
}
LinearLayout没有空的构造函数。尝试只添加一个空的构造函数
public LinearLayout_Serializable() {
this(//getContextSomehow());
}
关于android - 从文件中读取对象抛出 IllegalAccessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966784/
我正在尝试学习反射(reflection),我在回答这个问题时,为什么它没有异常?? public class FieldExceptionTest { private boolean b =
我知道我不应该使用这种方法,但出于测试目的我是。我创建了一个扩展 LinearLayout 并实现 Serializable 的类,以便能够将整个布局保存到一个文件中。 向此布局添加 View 后,我
我得到 android.widget.ImageView;尝试反序列化我之前序列化的对象时出现 IllegalAccessException File presetFile = new
假设您有一个名为 Timer 的类。当用户尝试调用方法 Timer#start() 时,代码会检查计时器是否已启动。如果有,则无法再次启动。现在,假设这个类是库/API 的一部分。开发人员无法知道该方
我正在尝试在 Java 中使用反射,但出现了一个奇怪的错误。当我收到以下错误时可能会出现什么问题: java.lang.IllegalAccessException: Class com.myapp.
我在尝试学习反射时遇到了这个 IllegalAccessException。请看下面的代码: public class ReflectionTest { public static voi
我有一个服务,它接收一个音频文件并用MediaPlayer 播放它。这就是我调用 Service 的方式: private void playAudio(String url) throws Exce
我需要使用 ant 运行 java 类。但是当我运行一个类文件时,它会抛出 IllegalAccessException。 这是我的 Ant 代码: 我在运行这个目标脚本时遇到
我遇到了一个非常奇怪的问题和一个奇怪的解决方案: class Parent { protected void aProtectedMethod() { doSomething(); } } c
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
考虑这对 Throwable: IllegalAccessExceptionextends Exception Thrown when an application tries to reflecti
尝试使用 WorkManager 1.0 稳定版入队时,我得到了 IllegalAccessException。这是堆栈跟踪: E/WM-WorkerFactory: Could not instan
给出下面的代码示例,为什么 accessUsingReflection -> theAnswer.get( outer ) 抛出 IllegalAccessException 而 accessDire
我有一个由以下代码调用的对话框窗口(DialogController 是使用模态对话框窗口的帮助器类;它主要将 Controller 引用与其窗口捆绑在一起): void handleServices
我的目标是: 第三个类将从控制台读取类名作为字符串。在读取类名后,它将自动动态(!)生成该类并调用其 writeout 方法。如果未从输入中读取该类,则不会对其进行初始化。 我正在处理 java.la
我在 firebase 项目控制台中为调试和发布 keystore 添加了 SHA1。我还通过应用程序中的 google-services.json 文件进行了更新。调试 apk 工作正常并访问 fi
我正在使用 Guice servlet 模块并试图让基本过滤器和监听器运行。当我启动我的 servlet 容器时,我得到一个包装在 AssertionError 中的 java.lang.Illega
我是网络开发新手,我正在 App Engine 上尝试 Thymeleaf 模板引擎。到目前为止,它工作得很好,除了当我尝试方法(而不是简单的属性)访问时,我总是得到 java IllegalAcce
我遇到了涉及 jar clash between incompatible versions of BouncyCastle 的问题. 我们通过创建一个 bean 来解决这个问题,该 bean 使用
我正在尝试创建定义自定义应用程序类,如下所示: 创建一个空子类名为 MyApp 的应用程序 在 list 中指定android::我的应用程序的名称:
我是一名优秀的程序员,十分优秀!