package com.gdg.miagegi.can2015.fragment; import java.util.ArrayList; import java.util.List; import com.gdg.miagegi.can2015.R; import com.gdg.miagegi.can2015.activity.SocialDetailsActivity; import com.gdg.miagegi.can2015.activity.SocialGridDetailsActivity; import com.gdg.miagegi.can2015.adapter.SocialGridAdapter; import com.gdg.miagegi.can2015.adapter.SocialListAdapter; import com.gdg.miagegi.can2015.model.Social; import com.gdg.miagegi.can2015.utils.BusProvider; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.GridView; import android.widget.ListView; public class SocialGridFragment extends Fragment{ @Override public void onPause() { // TODO Auto-generated method stub super.onPause(); BusProvider.getInstance().unregister(this); } @Override public void onResume() { // TODO Auto-generated method stub super.onResume(); BusProvider.getInstance().register(this); } private SocialGridAdapter mAdapter = null; private Context mContext; private GridView mGridView; private List<Social> mSocials = new ArrayList<Social>(); public SocialGridFragment() { super(); } @Override public void onCreate(Bundle savedInstanceState) { mContext = getActivity(); super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_grid_social, container, false); mSocials.clear(); mSocials.addAll(Social.findAllByType(mContext, "Instagram")); if(mAdapter == null){ mAdapter = new SocialGridAdapter(mContext, mSocials); }else{ mAdapter.notifyDataSetChanged(); } mGridView = (GridView) rootView.findViewById(R.id.gridSocial); mGridView.setAdapter(mAdapter); mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub getActivity().startActivity(new Intent(getActivity(), SocialGridDetailsActivity.class) .putExtra("socialId", mAdapter.getItem(position).id)); } }); ((ViewGroup) rootView).removeAllViews(); ((ViewGroup) rootView).addView(mGridView); return rootView; } }