package com.ved.musicmapapp.fragments; import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import com.ved.musicmapapp.MainActivity; import com.ved.musicmapapp.R; import com.ved.musicmapapp.Objects.Artist; import com.ved.musicmapapp.providers.GetArtistAvatarTask; import com.ved.musicmapapp.utils.Statics; import com.ved.musicmapapp.utils.Utils; public class CategoryFragment extends Fragment { private Artist artist; private ImageLoader imageLoader; private DisplayImageOptions options; private Activity mContext; @Override public void onAttach(Activity activity) { // TODO Auto-generated method stub super.onAttach(activity); this.mContext = activity; } public void setArtist(Artist artist) { this.artist = artist; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); View v = inflater.inflate(R.layout.activity_category, container, false); if (null == mContext) return v; imageLoader = ImageLoader.getInstance(); options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.img_no_image) .showImageForEmptyUri(R.drawable.img_no_image) .showImageOnFail(R.drawable.img_no_image).cacheInMemory(true) .cacheOnDisc(true).bitmapConfig(Bitmap.Config.RGB_565).build(); if (null == artist) { return v; } final ImageView imv_like = (ImageView) v.findViewById(R.id.imv_like); final ImageView imv_av = (ImageView) v .findViewById(R.id.imv_musician_av); TextView tvArtistName = (TextView) v .findViewById(R.id.tv_name_musician); TextView tvNoSong = (TextView) v.findViewById(R.id.tvNoSong); TextView tvGlobalNoSong = (TextView) v .findViewById(R.id.tvGlobalNoSong); tvArtistName.setText(artist.getName()); tvGlobalNoSong.setText(artist.getGlobalPlaylist() + " playlists"); tvNoSong.setText(artist.getSongs().size() + ""); if (artist.getAvatar().trim().length() > 0) { loadAvatar(imv_av, artist.getAvatar().trim()); } else { new GetArtistAvatarTask(mContext) { public void onSuccess(String result) { artist.setAvatar(result); loadAvatar(imv_av, result); }; }.execute(artist.getID() + "", artist.getName()); } imv_like.setVisibility(View.GONE); // BOOK v.findViewById(R.id.rl_book).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { CategoryDetailFragment frg = new CategoryDetailFragment(); frg.setArtist(artist); frg.setType(1); FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.add(R.id.frame_content, frg); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); } }); // MOVIE v.findViewById(R.id.rl_movie).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { CategoryDetailFragment frg = new CategoryDetailFragment(); frg.setArtist(artist); frg.setType(2); FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.replace(R.id.frame_content, frg); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); } }); // SCHOOL v.findViewById(R.id.rl_school).setOnClickListener( new OnClickListener() { @Override public void onClick(View arg0) { CategoryDetailFragment frg = new CategoryDetailFragment(); frg.setType(3); frg.setArtist(artist); FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.add(R.id.frame_content, frg); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); } }); // GAME v.findViewById(R.id.rl_game).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { CategoryDetailFragment frg = new CategoryDetailFragment(); frg.setType(4); frg.setArtist(artist); FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.add(R.id.frame_content, frg); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); } }); // OTHER v.findViewById(R.id.rl_other).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { CategoryDetailFragment frg = new CategoryDetailFragment(); frg.setType(5); frg.setArtist(artist); FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.add(R.id.frame_content, frg); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); } }); v.findViewById(R.id.layout_artist_detail).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { onGlobalUser(v); } }); return v; } private void loadAvatar(final ImageView imv_av, String url) { imageLoader.displayImage(url, imv_av, options, new ImageLoadingListener() { @Override public void onLoadingStarted(String imageUri, View view) { } @Override public void onLoadingFailed(String imageUri, View view, FailReason failReason) { } @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { imv_av.setImageBitmap(loadedImage); } @Override public void onLoadingCancelled(String imageUri, View view) { } }); } @Override public void onDestroyView() { if (getView() != null) { ((ViewGroup) getView().getParent()).removeView(getView()); } super.onDestroyView(); } public void onGlobalUser(View v) { GlobalUserFragment frg = new GlobalUserFragment(); frg.setArtist(artist); FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.replace(R.id.frame_content, frg); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); } }