huaxunhuang
10/24/2017 - 9:04 AM

materialistic #04

// interface Item is extended from the interface "Parcelable"
class HackerNewsItem implements Item {
    //.......
    public static final Creator<HackerNewsItem> CREATOR = new Creator<HackerNewsItem>() {
        @Override
        public HackerNewsItem createFromParcel(Parcel source) {
            return new HackerNewsItem(source);
        }

        @Override
        public HackerNewsItem[] newArray(int size) {
            return new HackerNewsItem[size];
        }
    };
    //.......
}
package io.github.hidroh.materialistic.data;

import android.annotation.SuppressLint;

//@SuppressLint("ParcelCreator")
public class TestHnItem extends HackerNewsItem {
    public TestHnItem(long id) {
        super(id);
    }

    public TestHnItem(long id, int level) {
        this(id);
        this.level = level;
    }
}
    // a inner class off ListFragmentViewHolderTest
    @SuppressLint("ParcelCreator")
    private static class PopulatedStory extends TestHnItem {
        public PopulatedStory(long id) {
            super(id);
        }

        @Override
        public String getTitle() {
            return "title";
        }

        @Override
        public String getRawType() {
            return STORY_TYPE;
        }

        @Override
        public long[] getKids() {
            return new long[0];
        }

        @Override
        public int getDescendants() {
            return 0;
        }
    }