2016-09-30 111 views
3

我正在使用AutoValue擴展來生成我的Parcelable Android類。該文件明確規定,一個@AutoValue不能再延長: https://github.com/google/auto/blob/master/value/userguide/howto.md#inherit如何繼承AutoValue類?

另一名開發者在幫助我走出這一點,並建議:「如果你有共同的領域,你可以把它們放在這兩個實現實現一個接口。」我假設這意味着圖書館贊成繼承的構成。

我承認,我有點失落。如果有人可以提供一個簡單的「子類」AutoValue類最簡單的方法的具體例子,它將不勝感激。這裏有一個簡單的類:

@AutoParcelGson 
public abstract class User implements Parcelable { 

    public abstract String username(); 
    public static User create(String username) { 
     return builder().username(username).build(); 
    } 

    public static Builder builder() { 
     return new AutoParcelGson_User.Builder(); 
    } 

    @AutoParcelGson.Builder 
    public interface Builder { 
     Builder username(String username); 
     User build(); 
    } 
} 

我想有另一@AutoValue類叫做客戶有一些額外的領域。此外,@AutoParcelGson是我使用的@AutoValue擴展,但它是相同的行爲。

回答