diff --git a/app/build.gradle b/app/build.gradle index 0c421fc..7ded5fa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,6 +78,8 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' // Testing testImplementation 'junit:junit:4.13.2' diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterFragment.java b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterFragment.java new file mode 100644 index 0000000..b7a0885 --- /dev/null +++ b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterFragment.java @@ -0,0 +1,36 @@ +package com.majinnaibu.monstercards.ui.editmonster; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProvider; + +import com.majinnaibu.monstercards.R; + +public class EditMonsterFragment extends Fragment { + + private EditMonsterViewModel mViewModel; + + public static EditMonsterFragment newInstance() { + return new EditMonsterFragment(); + } + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + return inflater.inflate(R.layout.fragment_edit_monster, container, false); + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + mViewModel = new ViewModelProvider(this).get(EditMonsterViewModel.class); + // TODO: Use the ViewModel + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterViewModel.java b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterViewModel.java new file mode 100644 index 0000000..08d3cc6 --- /dev/null +++ b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterViewModel.java @@ -0,0 +1,7 @@ +package com.majinnaibu.monstercards.ui.editmonster; + +import androidx.lifecycle.ViewModel; + +public class EditMonsterViewModel extends ViewModel { + // TODO: Implement the ViewModel +} \ No newline at end of file diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/monster/EditMonsterFragment.java b/app/src/main/java/com/majinnaibu/monstercards/ui/monster/EditMonsterFragment.java deleted file mode 100644 index b910f49..0000000 --- a/app/src/main/java/com/majinnaibu/monstercards/ui/monster/EditMonsterFragment.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.majinnaibu.monstercards.ui.monster; - -import android.content.Context; -import android.os.Bundle; - -import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import com.majinnaibu.monstercards.R; -import com.majinnaibu.monstercards.placeholder.PlaceholderContent; - -/** - * A fragment representing a list of Items. - */ -public class EditMonsterFragment extends Fragment { - - // TODO: Customize parameter argument names - private static final String ARG_COLUMN_COUNT = "column-count"; - // TODO: Customize parameters - private int mColumnCount = 1; - - /** - * Mandatory empty constructor for the fragment manager to instantiate the - * fragment (e.g. upon screen orientation changes). - */ - public EditMonsterFragment() { - } - - // TODO: Customize parameter initialization - @SuppressWarnings("unused") - public static EditMonsterFragment newInstance(int columnCount) { - EditMonsterFragment fragment = new EditMonsterFragment(); - Bundle args = new Bundle(); - args.putInt(ARG_COLUMN_COUNT, columnCount); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - if (getArguments() != null) { - mColumnCount = getArguments().getInt(ARG_COLUMN_COUNT); - } - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_edit_monster_list, container, false); - - // Set the adapter - if (view instanceof RecyclerView) { - Context context = view.getContext(); - RecyclerView recyclerView = (RecyclerView) view; - if (mColumnCount <= 1) { - recyclerView.setLayoutManager(new LinearLayoutManager(context)); - } else { - recyclerView.setLayoutManager(new GridLayoutManager(context, mColumnCount)); - } - recyclerView.setAdapter(new EditMonsterRecyclerViewAdapter(PlaceholderContent.ITEMS)); - } - return view; - } -} \ No newline at end of file diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/monster/EditMonsterRecyclerViewAdapter.java b/app/src/main/java/com/majinnaibu/monstercards/ui/monster/EditMonsterRecyclerViewAdapter.java deleted file mode 100644 index d16a49a..0000000 --- a/app/src/main/java/com/majinnaibu/monstercards/ui/monster/EditMonsterRecyclerViewAdapter.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.majinnaibu.monstercards.ui.monster; - -import androidx.recyclerview.widget.RecyclerView; - -import android.view.LayoutInflater; -import android.view.ViewGroup; -import android.widget.TextView; - -import com.majinnaibu.monstercards.placeholder.PlaceholderContent.PlaceholderItem; -import com.majinnaibu.monstercards.databinding.FragmentEditMonsterBinding; - -import java.util.List; - -/** - * {@link RecyclerView.Adapter} that can display a {@link PlaceholderItem}. - * TODO: Replace the implementation with code for your data type. - */ -public class EditMonsterRecyclerViewAdapter extends RecyclerView.Adapter { - - private final List mValues; - - public EditMonsterRecyclerViewAdapter(List items) { - mValues = items; - } - - @Override - public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - - return new ViewHolder(FragmentEditMonsterBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); - - } - - @Override - public void onBindViewHolder(final ViewHolder holder, int position) { - holder.mItem = mValues.get(position); - holder.mIdView.setText(mValues.get(position).id); - holder.mContentView.setText(mValues.get(position).content); - } - - @Override - public int getItemCount() { - return mValues.size(); - } - - public class ViewHolder extends RecyclerView.ViewHolder { - public final TextView mIdView; - public final TextView mContentView; - public PlaceholderItem mItem; - - public ViewHolder(FragmentEditMonsterBinding binding) { - super(binding.getRoot()); - mIdView = binding.itemNumber; - mContentView = binding.content; - } - - @Override - public String toString() { - return super.toString() + " '" + mContentView.getText() + "'"; - } - } -} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_monster.xml b/app/src/main/res/layout/fragment_edit_monster.xml index 1877568..e6cb973 100644 --- a/app/src/main/res/layout/fragment_edit_monster.xml +++ b/app/src/main/res/layout/fragment_edit_monster.xml @@ -1,20 +1,20 @@ - + + android:id="@+id/textView" + android:layout_width="0dp" + android:layout_height="0dp" + android:text="Edit Monster" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_monster_list.xml b/app/src/main/res/layout/fragment_edit_monster_list.xml deleted file mode 100644 index b39ee2d..0000000 --- a/app/src/main/res/layout/fragment_edit_monster_list.xml +++ /dev/null @@ -1,13 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index 889d58a..6df7fb3 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -59,9 +59,9 @@ + android:name="com.majinnaibu.monstercards.ui.editmonster.EditMonsterFragment" + android:label="fragment_edit_monster" + tools:layout="@layout/fragment_edit_monster" >