簡體   English   中英

異常:子類ParseObject的“未提供默認構造函數”異常

[英]Exception: “No default Constructor provided” exception subclassing ParseObject

我有兩個類NewsImageEventImage幾乎相同,因此它們從Image抽象類繼承。 這兩個都代表我的Parse數據庫中的一個類。

public abstract class Image extends ParseObject {

    public Image(){};

    public String getImageId(){
        return getObjectId();
    }

    public void setImageId(String imageId){
        setObjectId(imageId);
    }

    public byte[] getImageBytes(){
        try {
            return getParseFile("image").getData();
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }

    public void setImageBytes(byte[] bytes){
        put("image", new ParseFile(bytes));
    }

    public Bitmap getBitmap(){
        return Toolbox.ByteArrayToBitmap(getImageBytes());
    }

EventImage類

    @ParseClassName("OSW_event_images")
    public class EventImage extends Image {

        public EventImage() {
            super();

        }

        public Event getEvent(){
            return (Event) getParseObject("event");
        }

        public void setEvent(Event event){
            put("event", event);
        }

    };

NewsImage類

    @ParseClassName("OSW_news_images")
    public class NewsImage extends Image {

        public NewsImage() {
            super();

        }

        public News getNews(){
            return (News) getParseObject("news");
        }

        public void setNews(News event){
            put("news", event);
        }

    };

}

我在調用Parse.initialize()之前注冊了這兩個類

ParseObject.registerSubclass(Image.EventImage.class);
ParseObject.registerSubclass(Image.NewsImage.class);

運行此命令后,我得到:

09-19 12:38:39.794: E/AndroidRuntime(25806): java.lang.RuntimeException: Unable to start activity ComponentInfo{pl.holdapp.osw/pl.holdapp.osw.activities.MainActivity}: java.lang.IllegalArgumentException: No default constructor provided for class pl.holdapp.osw.objects.Image$EventImage
09-19 12:38:39.794: E/AndroidRuntime(25806):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)

將EventImage類設為靜態。 現在,默認構造函數需要對外部類的隱式引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM