【发布时间】:2015-03-25 21:44:37
【问题描述】:
我在 android 上创建了一个简单的应用程序,它是一个搜索引擎电影。它使用 GSON + Retrofit。
类FilmApiRequester有错误。
Api.getFilmInfo(apikey、filmTitle、pageLimit、回调);
非静态方法'getFilmInfo(java.lang.String, java.lang.String, java.lang.String, retrofit.Callback )' 不能 从静态上下文中引用。
我不知道如何解决这个问题。
FilmApiRequester.class
public class FilmApiRequeter {
private static String ROOT ="http://example.com";
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(ROOT)
.build();
Api filmRequester = restAdapter.create(Api.class);
private String apikey="ApiKeyExample";
public void getFilms(String filmTitle,String pageLimit, Callback<Film> callback)
{
Api.getFilmInfo(apikey,filmTitle,pageLimit,callback);
} }
Api.class
public interface Api{
@GET("/movies.json")
public void getFilmInfo(@Query("apikey") String apikey, @Query("q") String filmTitle, @Query("page_limit") String pageLimit, Callback<Film> callback); }
【问题讨论】:
-
参见docs.oracle.com/javase/tutorial/java/javaOO/classvars.html:类方法不能直接访问实例变量或实例方法——它们必须使用对象引用。此外,类方法不能使用 this 关键字,因为没有 this 可以引用的实例。
标签: java android android-studio gson retrofit