Guest User

Untitled

a guest
Jul 21st, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. Intent intent = new Intent(this, PostSearch.class);
  2. intent.putExtra(PostSearch.EXTRA_POST_TYPE, postType);
  3.  
  4. startActivityForResult(intent, RC_NEW_POST);
  5.  
  6. public class PostSearchAdapter extends RecyclerView.Adapter<PostSearchAdapter.PostSearchViewHolder> {
  7.  
  8. private Context mContext;
  9. private int mSearchType;
  10. private List<?> mSearchResults;
  11.  
  12. public PostSearchAdapter(Context context, int searchType) {
  13. this.mContext = context;
  14. mSearchType = searchType;
  15.  
  16. switch (mSearchType) {
  17. case 0:
  18. mSearchResults = new ArrayList<Track>();
  19. break;
  20. case 1:
  21. mSearchResults = new ArrayList<Album>();
  22. break;
  23. case 2:
  24. mSearchResults = new ArrayList<Album>();
  25. break;
  26. default:
  27. Log.i(TAG, "Invalid search type for adapter. Uh oh...");
  28. break;
  29. }
  30. }
  31.  
  32. @Override
  33. public int getItemCount() {
  34. if (mSearchResults == null) {
  35. return 0;
  36. } else {
  37. return mSearchResults.size();
  38. }
  39. }
  40.  
  41. @NonNull
  42. @Override
  43. public PostSearchViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  44. View searchResult = LayoutInflater
  45. .from(parent.getContext())
  46. .inflate(R.layout.list_item_search_result, parent, false);
  47.  
  48. return new PostSearchViewHolder(searchResult);
  49. }
  50.  
  51. @Override
  52. public void onBindViewHolder(PostSearchViewHolder viewHolder, int position) {
  53. switch (mSearchType) {
  54. case 0:
  55. Track track = (Track) mSearchResults.get(position);
  56.  
  57. viewHolder.mTitle.setText(track.getTitle());
  58. viewHolder.mArtist.setText(track.getArtistNames());
  59. if (!TextUtils.isEmpty(track.getAlbum().getLargeAlbumCover())) {
  60. Picasso.get()
  61. .load(track.getAlbum().getLargeAlbumCover())
  62. .error(R.drawable.ic_no_cover)
  63. .into(viewHolder.mCover);
  64. }
  65. break;
  66.  
  67. case 1:
  68. // Handle album results here
  69. break;
  70.  
  71. case 2:
  72. // Handle artist results here
  73. break;
  74.  
  75. default:
  76. break;
  77. }
  78.  
  79. }
  80.  
  81. public void addData(List<?> newData) {
  82. mSearchResults.add(newData);
  83. notifyDataSetChanged();
  84. }
  85.  
  86. public void clearData(){
  87. mSearchResults.clear();
  88. }
  89. }
  90.  
  91. mAdapter = new PostSearchAdapter(this, mSearchType);
  92.  
  93. private List<?> mSearchResults;
  94.  
  95. public PostSearchAdapter(Context context, int searchType) {
  96. this.mContext = context;
  97. mSearchType = searchType;
  98.  
  99. switch (mSearchType) {
  100. //Instantiate mSearchResults here
  101. }
  102. }
  103.  
  104. Track track = (Track) mSearchResults.get(position);
Add Comment
Please, Sign In to add comment