package com.themagpi.fragments; import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import com.actionbarsherlock.app.SherlockFragment; import com.themagpi.activities.IssueDetailsActivity; import com.themagpi.adapters.IssuesGridAdapter; import com.themagpi.android.R; import com.themagpi.api.Issue; import com.themagpi.api.MagPiClient; import com.themagpi.interfaces.Refreshable; import com.themagpi.interfaces.RefreshableContainer; public class IssuesFragment extends SherlockFragment implements Refreshable { MagPiClient client = new MagPiClient(); int layout; private GridView mGridView; private IssuesGridAdapter mGridAdapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_issues_grid, container, false); return view; } public void updateGrid(ArrayList<Issue> issues) { Activity activity = getActivity(); if (activity != null) { mGridAdapter = new IssuesGridAdapter(activity, issues); mGridView = (GridView) getActivity().findViewById(R.id.issues_grid_view); mGridView.setAdapter(mGridAdapter); mGridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { onGridItemClick((GridView) parent, view, position, id); } }); } } public void onGridItemClick(GridView g, View v, int position, long id) { Activity activity = getActivity(); if (activity != null) { Intent intent = new Intent(this.getSherlockActivity(), IssueDetailsActivity.class); intent.putExtra(IssueDetailsFragment.ARG_ISSUE,(Issue) mGridAdapter.getItem(position)); startActivity(intent); } } @Override public void onResume() { super.onResume(); Log.e("ONRES", "ONRED"); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); this.refresh(); } @Override public void refresh() { ((RefreshableContainer) getActivity()).startRefreshIndicator(); client.getIssues(getActivity(), new MagPiClient.OnIssuesReceivedListener() { public void onReceived(ArrayList<Issue> issues) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(IssuesFragment.this.getSherlockActivity()); prefs.edit().putString("last_issue", issues.get(0).getId()).commit(); updateGrid(issues); ((RefreshableContainer) getActivity()).stopRefreshIndicator(); getActivity().findViewById(R.id.progress_issues).setVisibility(View.GONE); } public void onError(int error) { ((RefreshableContainer) getActivity()).stopRefreshIndicator(); Toast.makeText(getActivity(), getActivity().getString(R.string.connection_error), Toast.LENGTH_LONG).show(); } }); } public void onPause() { super.onPause(); Log.e("PAUSE", "PAUSE"); ((RefreshableContainer) getActivity()).stopRefreshIndicator(); } }