private interface ResourcesApi {
@POST("/synchronize")
void getResources(@Body Map<String, Map<String, Object>> map,
Callback<DataModel> callback);
}
Run Code Online (Sandbox Code Playgroud)
与调用代码:
mApi.getResources(data, this);
Run Code Online (Sandbox Code Playgroud)
该类实现了Callback,因此定义了成功/失败.
堆栈跟踪:
03-09 18:05:15.182 28570-28746/? E/AndroidRuntime? FATAL EXCEPTION: pool-2-thread-1
java.lang.IllegalStateException: Method getResources not annotated with request type (e.g., GET, POST).
at retrofit.RestMethodInfo.parseMethodAnnotations(RestMethodInfo.java:179)
at retrofit.RestMethodInfo.init(RestMethodInfo.java:115)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:327)
at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:262)
at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:313)
at retrofit.CallbackRunnable.run(CallbackRunnable.java:38)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Run Code Online (Sandbox Code Playgroud) @Override
public void onResume() {
super.onResume();
recyclerView.post(new Runnable() {
@Override
public void run() {
((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(position, viewTopDistance);
}
});
}
Run Code Online (Sandbox Code Playgroud)
当用户单击启动另一个活动的视图时,位置和 viewTopDistance 会正确保存和保留。返回回收器视图后,大约 2/3 的时间列表看起来正确,另外 1/3 的时间它仅在顶部显示前 4 或 5 次(scrollToPositionWithOffset 不起作用)
关于为什么有时会失败的任何想法?