diff --git a/app/src/main/java/com/example/nemophila/resources/PostsRest.java b/app/src/main/java/com/example/nemophila/resources/PostsRest.java index 1791bd4..bf4aa98 100644 --- a/app/src/main/java/com/example/nemophila/resources/PostsRest.java +++ b/app/src/main/java/com/example/nemophila/resources/PostsRest.java @@ -29,7 +29,7 @@ ); @GET("accounts/{uid}/posts") - Call> getAccountPosts( + Call> getAccountPosts( @Path("uid") String uid ); diff --git a/app/src/main/java/com/example/nemophila/viewmodels/PostsViewModel.java b/app/src/main/java/com/example/nemophila/viewmodels/PostsViewModel.java index 37e7985..ba38203 100644 --- a/app/src/main/java/com/example/nemophila/viewmodels/PostsViewModel.java +++ b/app/src/main/java/com/example/nemophila/viewmodels/PostsViewModel.java @@ -50,24 +50,34 @@ //API通信メソッド public void getAccountPosts(String uid) { - Call> call = postsRest.getAccountPosts(uid); - call.enqueue(new Callback>() { + Call> call = postsRest.getAccountPosts(uid); + call.enqueue(new Callback>() { @Override - public void onResponse(Call> call, Response> response) { + public void onResponse(Call> call, Response> response) { if (response.isSuccessful()) { - accountPostsLiveData.setValue(response.body()); + setAccountPostLiveData(response.body()); } else { //レスポンスエラーを通知 } } @Override - public void onFailure(Call> call, Throwable t) { + public void onFailure(Call> call, Throwable t) { //通信エラーを通知 } }); } + //PostJsonからPostを作成し,それをLiveDataにセット + private void setAccountPostLiveData(Collection postJson) { + ArrayList posts = new ArrayList<>(); + for(PostJson pj: postJson) { + Post post = new Post(pj); + posts.add(post); + } + accountPostsLiveData.setValue(posts); + } + //投稿作成 public String createPost(String uid, String token, String sid, String rate, String genre, String comment, @@ -95,8 +105,8 @@ //PostJsonからPostを作成し,それをLiveDataにセット private void setShopPostLiveData(ArrayList postJson) { ArrayList posts = new ArrayList<>(); - for(PostJson i: postJson) { - Post post = new Post(i); + for(PostJson pj: postJson) { + Post post = new Post(pj); posts.add(post); } shopPostsLiveData.setValue(posts);