package com.themagpi.fragments; import java.util.ArrayList; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import com.actionbarsherlock.app.SherlockFragment; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.themagpi.adapters.LinkedAdapter; import com.themagpi.android.R; import com.themagpi.api.Issue; import com.themagpi.api.MagPiClient; import com.themagpi.api.News; import com.themagpi.interfaces.Refreshable; import com.themagpi.interfaces.RefreshableContainer; public class NewsFragment extends SherlockFragment implements Refreshable { ArrayList<News> news = new ArrayList<News>(); MagPiClient client = new MagPiClient(); int layout; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_news, container, false); return view; } public interface OnHeadlineSelectedListener { public void onArticleSelected(Issue issue); } @Override public void onResume() { super.onResume(); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); this.setHasOptionsMenu(true); refresh(); } @Override public void onStart() { super.onStart(); ((SherlockFragmentActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false); } public ListView getListView() { return (ListView) getActivity().findViewById(R.id.news_list_view); } @Override public void refresh() { ((RefreshableContainer) getActivity()).startRefreshIndicator(); client.getNews(getActivity(), new MagPiClient.OnNewsReceivedListener() { public void onReceived(ArrayList<News> news) { NewsFragment.this.news = news; getListView().setAdapter(createNewsAdapter(news)); ((RefreshableContainer) getActivity()).stopRefreshIndicator(); getActivity().findViewById(R.id.progress_news).setVisibility(View.GONE); } public void onError(int error) { ((RefreshableContainer) getActivity()).stopRefreshIndicator(); //Toast.makeText(getActivity(), "Connection error", Toast.LENGTH_LONG).show(); } }); } public BaseAdapter createNewsAdapter(ArrayList<News> news) { LinkedAdapter adapter = new LinkedAdapter(getActivity(), news); return adapter; } }