首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件中读取对象引发IllegalAccessException

从文件中读取对象引发IllegalAccessException
EN

Stack Overflow用户
提问于 2014-02-23 10:02:31
回答 1查看 511关注 0票数 2

我知道我不应该使用这种方法,但为了测试目的,我是我创建了一个扩展LinearLayout并实现Serializable的类,以便能够将整个布局保存到一个文件中。

在将视图添加到此布局之后,我将成功地将其写入文件中。但是当读取对象时,我得到了一个错误IllegalAcessException;有什么方法可以解决这个问题吗?

CustomLayout.class

代码语言:javascript
复制
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);
}

}

有什么帮助吗?并预先感谢

全误差

代码语言:javascript
复制
 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)
EN

回答 1

Stack Overflow用户

发布于 2014-02-23 10:28:28

似乎他ObjectStreamClass正在寻找一个空的构造函数来实例化您的自定义类。

代码语言:javascript
复制
 // Has to have an empty constructor
        if (constructor == null) {
            String className = constructorClass != null ? constructorClass.getName() : null;
            throw new InvalidClassException(className, "IllegalAccessException");
        }

LinearLayout没有空的构造函数。尝试添加一个空的构造函数

代码语言:javascript
复制
public LinearLayout_Serializable() {
    this(//getContextSomehow());
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21966784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档