diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java index e2e4397..169c0de 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java @@ -1,10 +1,12 @@ package org.ntlab.acanthus_client.views.main_menu_ui.home; +import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.LinearLayout; import android.widget.ListView; @@ -15,6 +17,8 @@ import org.ntlab.acanthus_client.databinding.FragmentHomeBinding; import org.ntlab.acanthus_client.entities.Animation; import org.ntlab.acanthus_client.entities.AnimationJson; +import org.ntlab.acanthus_client.views.animation.AnimationActivity; +import org.ntlab.acanthus_client.views.paint.PaintActivity; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -24,6 +28,8 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; public class HomeFragment extends Fragment { @@ -71,19 +77,49 @@ @Override public void onChanged(Collection animationJsons) { Collection animationJsonList = homeViewModel.getGallery(); - BaseAdapter adapter = new ListAnimationViewAdapter(getActivity(), R.layout.animation_home, animationJsonList); + //ソート用宣言 + ArrayList createDateList = new ArrayList<>(); + ArrayList animationJsonSortList =new ArrayList<>(); + + //ソート処理 + for (AnimationJson animationJson : animationJsonList){ + createDateList.add(animationJson.getCreatedDate()); + } + Collections.sort(createDateList); + Collections.reverse(createDateList); + for (String createDate : createDateList){ + for (AnimationJson animationJson : animationJsonList){ + if (createDate == animationJson.getCreatedDate()){ + animationJsonSortList.add(animationJson); + } + } + } + BaseAdapter adapter = new ListAnimationViewAdapter(getActivity(), R.layout.animation_home, animationJsonSortList); listView.setAdapter(adapter); + + listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, int position, long id) { +// acanthus.setCurrentAnimation(homeViewModel.getAnimation(animationJsonSortList.get(position).getAid())); + transitionAnimationActivity(animationJsonSortList.get(position)); + + } + }); } }); } - public void onCreateAnimationView(Animation animation){ - } - @Override public void onDestroyView() { super.onDestroyView(); binding = null; } + + private void transitionAnimationActivity(AnimationJson animationJson) { + Acanthus acanthus = (Acanthus) getActivity().getApplication(); + Intent intent = new Intent(acanthus, AnimationActivity.class); + intent.putExtra("AnimationJsonData", animationJson); + startActivity(intent); + } } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java index a0f6b23..bd13aba 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java @@ -37,9 +37,9 @@ for(AnimationJson animationJson: animationJsons){ this.titles.add(animationJson.getAnimationName()); ArrayList editors = new ArrayList<>(); -// for(Editor editor: animationJson.getEditor()){ -// editors.add(editor.getEditorAccount().getName()); -// } + for(String editor: animationJson.getEditorNames()){ + editors.add(editor); + } animationEditors.add(editors); this.createdDates.add(animationJson.getCreatedDate()); } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 06ea6ca..f539ff2 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,6 +1,7 @@ \ No newline at end of file diff --git a/app/src/main/res/layout/animation_home.xml b/app/src/main/res/layout/animation_home.xml index 8e33eaf..84daeba 100644 --- a/app/src/main/res/layout/animation_home.xml +++ b/app/src/main/res/layout/animation_home.xml @@ -6,34 +6,31 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + - + - + - + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 528f9c2..f2a8d79 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -6,20 +6,14 @@ android:layout_height="match_parent" tools:context=".views.main_menu_ui.home.HomeFragment"> - - + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0" /> \ No newline at end of file