@Override protected void onPostExecute(ArtistsPager artistsPager) { super.onPostExecute(artistsPager); if (artistsPager.artists.items.size() > 0) { artists.clear(); for (Artist artist : artistsPager.artists.items) { MyTrack myArtist = new MyTrack(); myArtist.artistId = artist.id; myArtist.artistName = artist.name; if (artist.images.size() > 0) { myArtist.artistPhotoUrl = artist.images.get(0).url; } artists.add(myArtist); } mAdapter.notifyDataSetChanged(); } else { notifyFailed(); } }
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle inState) { artistNames = new ArrayList<>(); artistPhotoUrls = new ArrayList<>(); artists = new ArrayList<>(); if (inState != null) { // returning from pause/rotation searchedArtist = inState.getString(SEARCHED_ARTIST); artistNames = inState.getStringArrayList(ARTIST_NAME); artistPhotoUrls = inState.getStringArrayList(ARTIST_ART); if (artistNames.size() > 0) { for (int i = 0; i < artistNames.size(); i++) { MyTrack track = new MyTrack(); track.artistName = artistNames.get(i); track.artistPhotoUrl = artistPhotoUrls.get(i); artists.add(i, track); } mAdapter = new SearchAdapter(artists); artistNames.clear(); artistPhotoUrls.clear(); } } else { // first time being created mAdapter = new SearchAdapter(artists); } View rootView = inflater.inflate(R.layout.fragment_main, container, false); final EditText editText = (EditText) rootView.findViewById(R.id.search_edittext); if (searchedArtist != null) { editText.setText(searchedArtist); searchForArtist(searchedArtist); } editText.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { clearSearchList(); editText.setCursorVisible(true); editText.setText(""); } }); editText.setOnEditorActionListener( new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_SEARCH) { InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0); editText.setCursorVisible(false); searchedArtist = editText.getText().toString(); searchForArtist(searchedArtist); return true; } return false; } }); RecyclerView mRecyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view); mRecyclerView.setHasFixedSize(true); RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.setAdapter(mAdapter); return rootView; }