2016-09-30 2 views
3

필자는 Parcelable Android 클래스를 생성하기 위해 AutoValue 확장을 사용하고 있습니다. 문서는 특히 하나 @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 확장이지만 동일한 동작입니다.

답변

관련 문제