Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Intent intent = new Intent(this, PostSearch.class);
- intent.putExtra(PostSearch.EXTRA_POST_TYPE, postType);
- startActivityForResult(intent, RC_NEW_POST);
- public class PostSearchAdapter extends RecyclerView.Adapter<PostSearchAdapter.PostSearchViewHolder> {
- private Context mContext;
- private int mSearchType;
- private List<?> mSearchResults;
- public PostSearchAdapter(Context context, int searchType) {
- this.mContext = context;
- mSearchType = searchType;
- switch (mSearchType) {
- case 0:
- mSearchResults = new ArrayList<Track>();
- break;
- case 1:
- mSearchResults = new ArrayList<Album>();
- break;
- case 2:
- mSearchResults = new ArrayList<Album>();
- break;
- default:
- Log.i(TAG, "Invalid search type for adapter. Uh oh...");
- break;
- }
- }
- @Override
- public int getItemCount() {
- if (mSearchResults == null) {
- return 0;
- } else {
- return mSearchResults.size();
- }
- }
- @NonNull
- @Override
- public PostSearchViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View searchResult = LayoutInflater
- .from(parent.getContext())
- .inflate(R.layout.list_item_search_result, parent, false);
- return new PostSearchViewHolder(searchResult);
- }
- @Override
- public void onBindViewHolder(PostSearchViewHolder viewHolder, int position) {
- switch (mSearchType) {
- case 0:
- Track track = (Track) mSearchResults.get(position);
- viewHolder.mTitle.setText(track.getTitle());
- viewHolder.mArtist.setText(track.getArtistNames());
- if (!TextUtils.isEmpty(track.getAlbum().getLargeAlbumCover())) {
- Picasso.get()
- .load(track.getAlbum().getLargeAlbumCover())
- .error(R.drawable.ic_no_cover)
- .into(viewHolder.mCover);
- }
- break;
- case 1:
- // Handle album results here
- break;
- case 2:
- // Handle artist results here
- break;
- default:
- break;
- }
- }
- public void addData(List<?> newData) {
- mSearchResults.add(newData);
- notifyDataSetChanged();
- }
- public void clearData(){
- mSearchResults.clear();
- }
- }
- mAdapter = new PostSearchAdapter(this, mSearchType);
- private List<?> mSearchResults;
- public PostSearchAdapter(Context context, int searchType) {
- this.mContext = context;
- mSearchType = searchType;
- switch (mSearchType) {
- //Instantiate mSearchResults here
- }
- }
- Track track = (Track) mSearchResults.get(position);
Add Comment
Please, Sign In to add comment