如何解决“ ListWriter”中抽象方法“ write”的实现错误?

时间:2019-05-12 22:51:34

标签: java android graphql apollo

我正在从Android应用程序+ GraphQL项目中的schema.json生成代码。最后,我将文件放在正确的目录中并创建类。在一种生成的方法中,我收到此错误:

error: method does not override or implement a method from a supertype error: <anonymous com.example.Query$Data$1$1> is not abstract and does not override abstract method write(Object,ListItemWriter) in ListWriter

我没有找到用于此问题的解决方案,也无法手动更改该代码来解决它,因为在进行了一些更改之后,当我开始新的项目构建/运行时,代码中的最新更改正在删除并且旧版本(自动生成)正在替换它们。

我的方法:

public ResponseFieldMarshaller marshaller() {
   return new ResponseFieldMarshaller() {
    @Override
    public void marshal(ResponseWriter writer) {
      writer.writeList($responseFields[0], findAllUsers, new ResponseWriter.ListWriter() {
        @Override
        public void write(List items, ResponseWriter.ListItemWriter listItemWriter) {
          for (Object item : items) {
            listItemWriter.writeObject(((FindAllUser) item).marshaller());
          }
        }
      });
    }
  };
}

文档:

interface ListWriter<T> {
    void write(@Nullable List<T> items, @NotNull ListItemWriter listItemWriter);
  }

项目依赖项:

classpath 'com.apollographql.apollo:apollo-gradle-plugin:1.0.1-SNAPSHOT'

并添加到buildscript:

    maven {
        url 'https://oss.sonatype.org/content/repositories/snapshots/'
    }

在应用级别上,我添加:

apply plugin: 'com.apollographql.android'

以及依赖项:

implementation 'com.apollographql.apollo:apollo-runtime:0.5.0'

因此使用文档看起来很正确,我不知道问题出在哪里。

我的.graphql文件包含:

query Query {
  findAllUsers {
        username
        email
    }
}

0 个答案:

没有答案