diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterFragment.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterFragment.java new file mode 100644 index 0000000..3d97750 --- /dev/null +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterFragment.java @@ -0,0 +1,35 @@ +package com.majinnaibu.monstercards.ui.monster; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProviders; + +import com.majinnaibu.monstercards.R; + +public class MonsterFragment extends Fragment { + + private MonsterViewModel monsterViewModel; + + public View onCreateView(@NonNull LayoutInflater inflater, + ViewGroup container, Bundle savedInstanceState) { + monsterViewModel = + ViewModelProviders.of(this).get(MonsterViewModel.class); + View root = inflater.inflate(R.layout.fragment_monster, container, false); + final TextView textView = root.findViewById(R.id.text_monster); + monsterViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { + @Override + public void onChanged(@Nullable String s) { + textView.setText(s); + } + }); + return root; + } +} diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterViewModel.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterViewModel.java new file mode 100644 index 0000000..b4c14c3 --- /dev/null +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterViewModel.java @@ -0,0 +1,19 @@ +package com.majinnaibu.monstercards.ui.monster; + +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +public class MonsterViewModel extends ViewModel { + + private MutableLiveData mText; + + public MonsterViewModel() { + mText = new MutableLiveData<>(); + mText.setValue("This is monster fragment"); + } + + public LiveData getText() { + return mText; + } +} \ No newline at end of file diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchFragment.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchFragment.java index 0f61fb6..ce42921 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchFragment.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchFragment.java @@ -4,6 +4,7 @@ import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; import android.widget.TextView; import androidx.annotation.NonNull; @@ -11,6 +12,8 @@ import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; +import androidx.navigation.NavDirections; +import androidx.navigation.Navigation; import com.majinnaibu.monstercards.R; @@ -23,13 +26,22 @@ public class SearchFragment extends Fragment { searchViewModel = ViewModelProviders.of(this).get(SearchViewModel.class); View root = inflater.inflate(R.layout.fragment_search, container, false); - final TextView textView = root.findViewById(R.id.text_search); - searchViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { + final TextView textView = root.findViewById(R.id.search_query); + searchViewModel.getSearchQuery().observe(getViewLifecycleOwner(), new Observer() { @Override public void onChanged(@Nullable String s) { textView.setText(s); } }); + + final Button btnSearch = root.findViewById(R.id.button_search); + btnSearch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NavDirections action = SearchFragmentDirections.actionNavigationSearchToNavigationMonster(); + Navigation.findNavController(view).navigate(action); + } + }); return root; } } diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchViewModel.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchViewModel.java index 6e3a48b..e8fc25d 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchViewModel.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchViewModel.java @@ -6,14 +6,14 @@ import androidx.lifecycle.ViewModel; public class SearchViewModel extends ViewModel { - private MutableLiveData mText; + private MutableLiveData mSearchQuery; public SearchViewModel() { - mText = new MutableLiveData<>(); - mText.setValue("This is search fragment"); + mSearchQuery = new MutableLiveData<>(); + mSearchQuery.setValue(""); } - public LiveData getText() { - return mText; + public LiveData getSearchQuery() { + return mSearchQuery; } } \ No newline at end of file diff --git a/Android/app/src/main/res/layout/fragment_monster.xml b/Android/app/src/main/res/layout/fragment_monster.xml index fdde335..9400058 100644 --- a/Android/app/src/main/res/layout/fragment_monster.xml +++ b/Android/app/src/main/res/layout/fragment_monster.xml @@ -1,664 +1,22 @@ - + tools:context=".ui.monster.MonsterFragment"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:layout_marginTop="8dp" + android:layout_marginEnd="8dp" + android:textAlignment="center" + android:textSize="20sp" + 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 diff --git a/Android/app/src/main/res/layout/fragment_search.xml b/Android/app/src/main/res/layout/fragment_search.xml index e6e5fe6..0eb1ff6 100644 --- a/Android/app/src/main/res/layout/fragment_search.xml +++ b/Android/app/src/main/res/layout/fragment_search.xml @@ -4,20 +4,30 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.search.SearchFragment"> + tools:context=".ui.search.SearchFragment" + tools:targetApi="o"> - + + - \ No newline at end of file diff --git a/Android/app/src/main/res/values/strings.xml b/Android/app/src/main/res/values/strings.xml index b171c0f..232856a 100644 --- a/Android/app/src/main/res/values/strings.xml +++ b/Android/app/src/main/res/values/strings.xml @@ -4,4 +4,6 @@ Search Collections Library + Search + Query \ No newline at end of file diff --git a/Android/build.gradle b/Android/build.gradle index 6754c23..ff5deb3 100644 --- a/Android/build.gradle +++ b/Android/build.gradle @@ -7,6 +7,9 @@ buildscript { dependencies { classpath "com.android.tools.build:gradle:4.0.1" + def nav_version = "2.3.0" + classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version" + // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }