diff --git a/app/src/main/java/com/example/nemophila/ShopActivity.java b/app/src/main/java/com/example/nemophila/ShopActivity.java index 1f155ee..6a0e6fa 100644 --- a/app/src/main/java/com/example/nemophila/ShopActivity.java +++ b/app/src/main/java/com/example/nemophila/ShopActivity.java @@ -35,19 +35,11 @@ super.onCreate(savedInstanceState); setContentView(R.layout.activity_shop); -// //テスト用に仮にcurrentShopをセット -// Shop kariShop = new Shop(); -// kariShop.setSid("151347fa-2c90-44d7-ba48-f23f475b910d"); -// kariShop.setName("店D"); -// kariShop.setLongitude(56.7); -// kariShop.setLatitude(78.9); -// ((Nemophila)getApplication()).setCurrentShop(kariShop); - - //NemophilaからcurrentShopを取得、店名の表示 - //currentshopに何もないとgetNameとgetSidでアプリが落ちます Shop shop; String shopName; String sid; + + //NemophilaからcurrentShopを取得、店名の表示 shop = ((Nemophila)getApplication()).getCurrentShop(); shopName = shop.getName(); sid = shop.getSid(); @@ -59,14 +51,9 @@ toPostButton.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(ShopActivity.this, PostActivity.class); - intent.putExtra("toPostSid",sid); startActivity(intent); } }); -// PostActivity側でsidを受け取ってください -// Intent intent = getIntent(); -// sid = intent.getStringExtra("toPostSid"); -// みたいな感じで受け取れるはずです //左上のボタンでメイン画面へ遷移 Button returnButton = (Button)findViewById(R.id.shopAcReturnButton); @@ -77,6 +64,7 @@ } }); + //RecyclerViewに表示する中身を格納するリストを宣言 List postsDataset = new ArrayList<>(); //RecyclerView(表示の設定、直接表示するところはLivedataを購読しているonChanged内) @@ -98,33 +86,23 @@ PostsViewModel postsViewModel = new ViewModelProvider(this).get(PostsViewModel.class); postsViewModel.loadShopPost(sid); - //LiveDataへの購読 + //投稿を取得するLiveDataへの購読 postsViewModel.getShopPostLiveData().observe(this, new Observer>() { @Override public void onChanged(List ShopPosts) { - //Nemophilaから選択中のジャンルを受け取る + //Nemophilaから選択中のジャンル(HashSet)を受け取る HashSet selectingGenre = ((Nemophila)getApplication()).getSelectGenres(); - //テスト用にHashSetにジャンルを入力 -// HashSet selectingGenre = new HashSet<>(); -// selectingGenre.add("ラーメン"); -// selectingGenre.add("中華"); - //選択中に何かあれば表示 + //選択中のジャンルが何かあれば表示 if(!(selectingGenre.isEmpty())) { TextView genreView = (TextView) findViewById(R.id.shopAcGenre); genreView.setText("選択中のジャンル:" + selectingGenre); } - //Nemophilaから選択中のフレンドを受け取る + //Nemophilaから選択中のフレンド(HashSet)を受け取る HashSet selectingFriend = ((Nemophila)getApplication()).getSelectFriends(); - - //テスト用にHashSetにフレンドを入力 -// HashSet selectingFriend = new HashSet<>(); -// selectingFriend.add("1111"); -// selectingFriend.add("1113"); - - //選択したフレンドの表示のための宣言 + //選択したフレンドを表示するために名前を格納するHashSetの宣言 HashSet selectingFriendName = new HashSet<>(); //postsDatasetを一旦クリアし、LiveDataから受け取ったデータを一つずつセット(重複しないように) @@ -133,12 +111,12 @@ for (Post post: ShopPosts){ //dataを宣言 dataに投稿の必要なデータをセットし、それをpostsDatasetに追加してリストを作る ShopAcDataModel data = new ShopAcDataModel(); - //フィルター選択中かの判定のためにgenreとuidを先に読み込む + //フィルター判定のためにgenreとuidを、表示用のセットのためにnameを先に読み込む String genre = post.getGenre(); String uid = post.getUid(); String name = post.getName(); - //選択が何もない場合は全ての投稿を、選択ある場合は一致する投稿をdataにセット + //選択が何もない場合は全ての投稿を、選択がある場合は一致する投稿をdataにセット if(selectingGenre.isEmpty() || selectingGenre.contains(genre)) { if(selectingFriend.isEmpty() || selectingFriend.contains(uid)) { data.setName(name); @@ -181,7 +159,6 @@ } //RecyclerViewのための内部クラス - //Adapter public class ShopAcAdapter extends RecyclerView.Adapter { @@ -237,7 +214,7 @@ } } - //DataModel + //DataModel(投稿1つあたりに必要なデータ) public static class ShopAcDataModel { private String name; private String date;