diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 8666e4b..eac51cb 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - + \ No newline at end of file diff --git a/app/src/main/java/com/example/nemophila/ShopActivity.java b/app/src/main/java/com/example/nemophila/ShopActivity.java index 0490659..8b318df 100644 --- a/app/src/main/java/com/example/nemophila/ShopActivity.java +++ b/app/src/main/java/com/example/nemophila/ShopActivity.java @@ -15,6 +15,7 @@ import android.widget.Button; import android.widget.TextView; +import com.example.nemophila.entities.Account; import com.example.nemophila.entities.Post; import com.example.nemophila.entities.Shop; import com.example.nemophila.viewmodels.PostsViewModel; @@ -99,60 +100,83 @@ @Override public void onChanged(List ShopPosts) { - //Nemophilaから選択中のジャンルを受け取って表示 + //Nemophilaから選択中のジャンルを受け取る // HashSet selectingGenre = ((Nemophila)getApplication()).getSelectGenres(); - //テスト用にHashsetにジャンルを入力 + //テスト用にHashSetにジャンルを入力 HashSet selectingGenre = new HashSet<>(); selectingGenre.add("ラーメン"); selectingGenre.add("中華"); + //選択中に何かあれば表示 if(!(selectingGenre.isEmpty())) { - String unitGenre = ""; -// for (String list : selectingGenre) { -// unitGenre += selectingGenre; -// unitGenre += ", "; -// } TextView genreView = (TextView) findViewById(R.id.shopAcGenre); genreView.setText("選択中のジャンル:" + selectingGenre); } - //テスト用にジャンルをラーメンにセット - String selectTestGenre = ""; - selectTestGenre = "ラーメン"; -// if(!(selectTestGenre.isEmpty())) { -// TextView genreView = (TextView) findViewById(R.id.shopAcGenre); -// genreView.setText("選択中のジャンル:" + selectTestGenre); + //Nemophilaから選択中のフレンドを受け取る + HashSet selectingFriend = ((Nemophila)getApplication()).getSelectFriends(); + + //テスト用にHashSetにフレンドを入力 +// HashSet selectingFriendTest = new HashSet<>(); + selectingFriend.add("1111"); + selectingFriend.add("1113"); + + + //選択したフレンドの表示のための宣言 + HashSet selectingFriendName = new HashSet<>(); + +// //選択中に何かあれば表示 +// if(!(selectingFriend.isEmpty())) { +// TextView friendView = (TextView) findViewById(R.id.shopAcFriend); +// friendView.setText("選択中のフレンド:" + selectingFriendName); // } //postsDatasetを一旦クリアし、LiveDataから受け取ったデータを一つずつセット(重複しないように) postsDataset.clear(); + for (Post post: ShopPosts){ - //投稿一つあたりの各要素をdataにセット + //dataを宣言 dataに投稿の必要なデータをセットし、それをpostsDatasetに追加してリストを作る PostDataModel data = new PostDataModel(); - //選択したgenreで絞り込み検索(どれか一つでもあれば) + //フィルター選択中かの判定のためにgenreとuidを先に読み込む String genre = post.getGenre(); + String uid = post.getUid(); + String name = post.getName(); - if(selectingGenre.contains(genre)) { - data.setName(post.getName()); - data.setDate(post.getDate()); - //rateはintで受け取った評価に対応した星の数のStringに変換してセット - int intRate = post.getRate(); - String strRate = ""; - for (int i = 0; i < 5; i++) { - if (intRate > i) { - strRate += "★"; - } else { - strRate += "☆"; + //選択が何もない場合は全ての投稿を、選択ある場合は一致する投稿をdataにセット + if(selectingGenre.isEmpty() || selectingGenre.contains(genre)) { + if(selectingFriend.isEmpty() || selectingFriend.contains(uid)) { + data.setName(name); + data.setDate(post.getDate()); + //rateはintで受け取った評価に対応した星の数のStringに変換してセット + int intRate = post.getRate(); + String strRate = ""; + for (int i = 0; i < 5; i++) { + if (intRate > i) { + strRate += "★"; + } else { + strRate += "☆"; + } } - } - data.setRate(strRate); - data.setGenre(genre); - data.setComment(post.getComment()); + data.setRate(strRate); + data.setGenre(genre); + data.setComment(post.getComment()); - //投稿一つの情報がdataに全部セットされたらDatasetに追加 - postsDataset.add(data); + //投稿一つの情報がdataに全部セットされたらDatasetに追加 + postsDataset.add(data); + } + } + //フレンド名を表示用HashSetにセット + if(!(selectingFriend.isEmpty()) && selectingFriend.contains(uid)) { + selectingFriendName.add(name); } } + + //フレンド名を表示する + if(!(selectingFriend.isEmpty())) { + TextView friendView = (TextView) findViewById(R.id.shopAcFriend); + friendView.setText("選択中のフレンド:" + selectingFriendName); + } + //RecyclerViewをonChangedが呼ばれるたび表示(アダプターを更新してRecyclerViewにセット) adapter.setList(postsDataset); rv.setAdapter(adapter); diff --git a/app/src/main/res/layout/activity_shop.xml b/app/src/main/res/layout/activity_shop.xml index 5c98568..5b75b08 100644 --- a/app/src/main/res/layout/activity_shop.xml +++ b/app/src/main/res/layout/activity_shop.xml @@ -52,7 +52,7 @@ + + \ No newline at end of file