Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.66 KB | None | 0 0
  1. package com.example.submisi5.fragment;
  2.  
  3.  
  4.  
  5. import android.app.SearchManager;
  6. import android.content.Context;
  7. import android.content.Intent;
  8. import android.os.Bundle;
  9.  
  10. import android.util.Log;
  11. import android.view.LayoutInflater;
  12. import android.view.Menu;
  13. import android.view.MenuInflater;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import android.widget.ProgressBar;
  17. import android.widget.SearchView;
  18. import android.widget.Toast;
  19.  
  20. import androidx.annotation.Nullable;
  21. import androidx.fragment.app.Fragment;
  22. import androidx.lifecycle.Observer;
  23. import androidx.lifecycle.ViewModelProviders;
  24. import androidx.recyclerview.widget.LinearLayoutManager;
  25. import androidx.recyclerview.widget.RecyclerView;
  26.  
  27. import com.example.submisi5.Activity.DetailActivity;
  28. import com.example.submisi5.R;
  29. import com.example.submisi5.Activity.SearchActivity;
  30. import com.example.submisi5.adapter.Adapter;
  31. import com.example.submisi5.model.Items.Items;
  32. import com.example.submisi5.model.movie.MovieVM;
  33.  
  34. import java.util.ArrayList;
  35.  
  36. import static com.example.submisi5.Activity.DetailActivity.EXTRA_DETAIL;
  37. import static com.example.submisi5.Activity.SearchActivity.EXTRA_SEARCH;
  38.  
  39.  
  40. /**
  41. * A simple {@link Fragment} subclass.
  42. */
  43. public class MovieFragment extends Fragment implements Adapter.OnItemClickListener {
  44.  
  45. Adapter adapter;
  46. MovieVM movieVM;
  47. ProgressBar mProgressBar;
  48. public MovieFragment() {
  49. // Required empty public constructor
  50. }
  51.  
  52.  
  53.  
  54. @Override
  55. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  56. Bundle savedInstanceState) {
  57. // Inflate the layout for this fragment
  58. View v = inflater.inflate(R.layout.fragment_movie, container, false);
  59.  
  60. mProgressBar = v.findViewById(R.id.loading_film);
  61.  
  62.  
  63.  
  64. adapter = new Adapter(getContext());
  65. adapter.setOnItemClickListener(MovieFragment.this);
  66. adapter.notifyDataSetChanged();
  67.  
  68. movieVM = ViewModelProviders.of(getActivity()).get(MovieVM.class);
  69. movieVM.getShow().observe(MovieFragment.this, getShow);
  70. movieVM.getAPI();
  71.  
  72. RecyclerView recyclerView = v.findViewById(R.id.rv_movie);
  73. recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false));
  74. recyclerView.setAdapter(adapter);
  75.  
  76. return v;
  77. }
  78.  
  79.  
  80. @Override
  81. public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
  82. super.onCreateOptionsMenu(menu, inflater);
  83. menu.clear();
  84. inflater.inflate(R.menu.main_menu,menu);
  85. SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
  86. Log.d("search", String.valueOf(searchManager));
  87. SearchView searchView = (SearchView) (menu.findItem(R.id.action_search)).getActionView();
  88.  
  89. searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
  90. searchView.setQueryHint(getResources().getString(R.string.search));
  91. searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
  92. @Override
  93. public boolean onQueryTextSubmit(String query) {
  94. Toast.makeText(getContext(), query, Toast.LENGTH_SHORT).show();
  95. Log.d("tesstt",query);
  96. // mMovieViewModel.getmMovieTvItems().observe(MovieFragment.this,getseachMovieItems);
  97. // mMovieViewModel.searchMovie(query);
  98. Items movieTvItems = new Items();
  99. movieTvItems.setTitle_film(query);
  100. movieTvItems.setType("MOVIE");
  101. Intent search = new Intent(getContext(), SearchActivity.class);
  102. search.putExtra(EXTRA_SEARCH,movieTvItems);
  103. startActivity(search);
  104.  
  105. return true;
  106. }
  107. @Override
  108. public boolean onQueryTextChange(String newText) {
  109. // Toast.makeText(getContext(), newText, Toast.LENGTH_SHORT).show();
  110.  
  111. return false;
  112. }
  113.  
  114.  
  115. });
  116.  
  117.  
  118.  
  119. }
  120.  
  121.  
  122.  
  123. private Observer<ArrayList<Items>> getShow = new Observer<ArrayList<Items>>() {
  124. @Override
  125. public void onChanged(@Nullable ArrayList<Items> movieItems) {
  126. if (!(movieItems == null)) {
  127. adapter.setmItems(movieItems);
  128. showLoading(false);
  129. }
  130. }
  131. };
  132.  
  133.  
  134.  
  135. @Override
  136. public void onItemClick(int i) {
  137. Items items = new Items();
  138. String type = "MOVIE";
  139. items.setPhoto(MovieVM.mitems.get(i).getPhoto());
  140.  
  141. items.setTitle_film(MovieVM.mitems.get(i).getTitle_film());
  142. items.setDesc_film(MovieVM.mitems.get(i).getDesc_film());
  143. items.setInfo_film(MovieVM.mitems.get(i).getInfo_film());
  144. items.setRate(MovieVM.mitems.get(i).getRate());
  145. items.setRating_bar(MovieVM.mitems.get(i).getRating_bar());
  146. items.setType(type);
  147. Intent detail = new Intent(getContext(), DetailActivity.class);
  148. detail.putExtra(EXTRA_DETAIL, items);
  149. startActivity(detail);
  150.  
  151. //movieVM.mitems.get(i).getInfo_film(), movieVM.mitems.get(i).getTitle_film(), movieVM.mitems.get(i).getDesc_film(),
  152. // movieVM.mitems.get(i).getPhoto(),movieVM.mitems.get(i).getRating_bar(),movieVM.mitems.get(i).getRate()
  153. }
  154. private void showLoading(Boolean state) {
  155. if (state) {
  156. mProgressBar.setVisibility(View.VISIBLE);
  157. } else {
  158. mProgressBar.setVisibility(View.GONE);
  159. }
  160. }
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement