package com.ved.musicmapapp.fragments; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; 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.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.LinearLayout; import android.widget.ListView; import com.ved.musicmapapp.R; import com.ved.musicmapapp.Objects.Artist; import com.ved.musicmapapp.Objects.User; import com.ved.musicmapapp.adapters.UserAdapter; import com.ved.musicmapapp.providers.GetGlobalUserTask; public class GlobalUserFragment extends Fragment { private ListView list; private UserAdapter uAdapter; private LinearLayout group_loadmore, group_find; private boolean alertShowing = false; private String fbid; private SharedPreferences prefs; private boolean reload = true; private GetGlobalUserTask task; private View loadingLayout, resultLayout; private Artist mArtist; private List<User> mUsers; 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) { mArtist = artist; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); View v = inflater.inflate(R.layout.activity_global_user, container, false); if (null == mContext) return v; loadingLayout = v.findViewById(R.id.loadingLayout); resultLayout = v.findViewById(R.id.resultLayout); list = (ListView) v.findViewById(R.id.list_you_follow); group_loadmore = (LinearLayout) v.findViewById(R.id.group_loadmore); group_find = (LinearLayout) v.findViewById(R.id.group_find); prefs = mContext .getSharedPreferences("MUSIC_MAP", Context.MODE_PRIVATE); fbid = prefs.getString("FB_ID", ""); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) { User user = mUsers.get(pos); UserDetailsFragment fragment = new UserDetailsFragment(); fragment.setUser(user); FragmentTransaction fragmentTransaction = getActivity() .getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.frame_content, fragment); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); /*UserDetailFragment fragment = new UserDetailFragment(); fragment.setUser(user); FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.replace(R.id.frame_content, fragment); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit();*/ } }); if (null != task) task.cancel(true); if (mUsers == null) { task = new GetGlobalUserTask(mContext, fbid, mArtist) { @Override protected void onPreExecute() { super.onPreExecute(); loadingLayout.setVisibility(View.VISIBLE); } public void onSuccess(ArrayList<User> users) { loadingLayout.setVisibility(View.GONE); mUsers = users; if (users.size() > 0 && null != mContext) { uAdapter = new UserAdapter(mContext, users); list.setAdapter(uAdapter); list.setVisibility(View.VISIBLE); } else { resultLayout.setVisibility(View.VISIBLE); } }; }; task.execute(); } else { loadingLayout.setVisibility(View.GONE); if (mUsers.size() > 0 && null != mContext) { uAdapter = new UserAdapter(mContext, mUsers); list.setAdapter(uAdapter); list.setVisibility(View.VISIBLE); } else { resultLayout.setVisibility(View.VISIBLE); } } return v; } // public void setReloadData(boolean reload){ // this.reload = reload; // } @Override public void onDestroy() { if (null != task) task.cancel(true); super.onDestroy(); } @Override public void onDestroyView() { if (getView() != null) { ((ViewGroup) getView().getParent()).removeView(getView()); } super.onDestroyView(); } }