Adds "New Skill" button.
This commit is contained in:
		| @@ -896,4 +896,11 @@ public class EditMonsterViewModel extends ViewModel { | |||||||
|     public List<Skill> getSkillsArray() { |     public List<Skill> getSkillsArray() { | ||||||
|         return mSkills.getValue(); |         return mSkills.getValue(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     public void addNewSkill() { | ||||||
|  |         Skill newSkill = new Skill("Unnamed Skill", AbilityScore.DEXTERITY); | ||||||
|  |         ArrayList<Skill> newSkills = new ArrayList<>(mSkills.getValue()); | ||||||
|  |         newSkills.add(newSkill); | ||||||
|  |         mSkills.setValue(newSkills); | ||||||
|  |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,9 +3,13 @@ package com.majinnaibu.monstercards.ui.editmonster; | |||||||
| import android.content.Context; | import android.content.Context; | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import android.view.LayoutInflater; | import android.view.LayoutInflater; | ||||||
|  | import android.view.Menu; | ||||||
|  | import android.view.MenuInflater; | ||||||
|  | import android.view.MenuItem; | ||||||
| import android.view.View; | import android.view.View; | ||||||
| import android.view.ViewGroup; | import android.view.ViewGroup; | ||||||
|  |  | ||||||
|  | import androidx.annotation.NonNull; | ||||||
| import androidx.fragment.app.Fragment; | import androidx.fragment.app.Fragment; | ||||||
| import androidx.lifecycle.ViewModelProvider; | import androidx.lifecycle.ViewModelProvider; | ||||||
| import androidx.navigation.NavBackStackEntry; | import androidx.navigation.NavBackStackEntry; | ||||||
| @@ -31,6 +35,7 @@ public class EditSkillsFragment extends Fragment { | |||||||
|         NavController navController = Navigation.findNavController(requireActivity(), R.id.nav_host_fragment); |         NavController navController = Navigation.findNavController(requireActivity(), R.id.nav_host_fragment); | ||||||
|         NavBackStackEntry backStackEntry = navController.getBackStackEntry(R.id.edit_monster_navigation); |         NavBackStackEntry backStackEntry = navController.getBackStackEntry(R.id.edit_monster_navigation); | ||||||
|         mViewModel = new ViewModelProvider(backStackEntry).get(EditMonsterViewModel.class); |         mViewModel = new ViewModelProvider(backStackEntry).get(EditMonsterViewModel.class); | ||||||
|  |         setHasOptionsMenu(true); | ||||||
|  |  | ||||||
|         // Set the adapter |         // Set the adapter | ||||||
|         if (view instanceof RecyclerView) { |         if (view instanceof RecyclerView) { | ||||||
| @@ -42,4 +47,24 @@ public class EditSkillsFragment extends Fragment { | |||||||
|  |  | ||||||
|         return view; |         return view; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) { | ||||||
|  |         inflater.inflate(R.menu.edit_skills_menu, menu); | ||||||
|  |         super.onCreateOptionsMenu(menu, inflater); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public boolean onOptionsItemSelected(@NonNull MenuItem item) { | ||||||
|  |         if (item.getItemId() == R.id.menu_action_add_skill) { | ||||||
|  |             mViewModel.addNewSkill(); | ||||||
|  |             // TODO: navigate to editing the new skill | ||||||
|  | //            NavDirections action = MonsterDetailFragmentDirections.actionNavigationMonsterToEditMonsterFragment(monsterDetailViewModel.getId().getValue().toString()); | ||||||
|  | //            View view = getView(); | ||||||
|  | //            assert view != null; | ||||||
|  | //            Navigation.findNavController(view).navigate(action); | ||||||
|  |             return true; | ||||||
|  |         } | ||||||
|  |         return super.onOptionsItemSelected(item); | ||||||
|  |     } | ||||||
| } | } | ||||||
							
								
								
									
										10
									
								
								app/src/main/res/drawable/ic_add_24.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/src/main/res/drawable/ic_add_24.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:width="24dp" | ||||||
|  |     android:height="24dp" | ||||||
|  |     android:viewportWidth="24" | ||||||
|  |     android:viewportHeight="24" | ||||||
|  |     android:tint="?attr/colorControlNormal"> | ||||||
|  |   <path | ||||||
|  |       android:fillColor="@android:color/white" | ||||||
|  |       android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/> | ||||||
|  | </vector> | ||||||
							
								
								
									
										10
									
								
								app/src/main/res/menu/edit_skills_menu.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/src/main/res/menu/edit_skills_menu.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <menu xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     xmlns:app="http://schemas.android.com/apk/res-auto"> | ||||||
|  |  | ||||||
|  |     <item | ||||||
|  |         android:id="@+id/menu_action_add_skill" | ||||||
|  |         android:icon="@drawable/ic_add_24" | ||||||
|  |         android:title="@string/action_add_skill" | ||||||
|  |         app:showAsAction="always" /> | ||||||
|  | </menu> | ||||||
| @@ -1,5 +1,6 @@ | |||||||
| <resources> | <resources> | ||||||
|     <string name="action_add_monster">Add monster</string> |     <string name="action_add_monster">Add monster</string> | ||||||
|  |     <string name="action_add_skill">Add Skill</string> | ||||||
|     <string name="action_edit">Edit</string> |     <string name="action_edit">Edit</string> | ||||||
|     <string name="actions_label">Actions</string> |     <string name="actions_label">Actions</string> | ||||||
|     <string name="app_name">MonsterCards</string> |     <string name="app_name">MonsterCards</string> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user