package br.gov.serpro.nfc.ui.fragment;
import java.util.List;
import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher.OnRefreshListener;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import br.gov.serpro.nfc.R;
import br.gov.serpro.nfc.model.Keynote;
import br.gov.serpro.nfc.ui.adapter.KeynotesAdapter;
import br.gov.serpro.nfc.ui.async.FindAllKeynotesTask;
public class NowKeynotesFragment extends Fragment {
private ListView listKeynotes;
private KeynotesListener listener;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (activity instanceof KeynotesListener) {
listener = (KeynotesListener) activity;
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_all_keynotes, null);
listKeynotes = (ListView) view.findViewById(R.id.listKeynotes);
listKeynotes.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int pos, long id) {
listener.keynoteSelected(id);
}
});
listener.getPullToRefreshAttacher().addRefreshableView(listKeynotes, new OnRefreshListener() {
@Override
public void onRefreshStarted(View view) {
fillListView();
}
});
fillListView();
return view;
}
/**
* Preencher a lista de palestras.
*/
private void fillListView() {
setKeynotes(Keynote.all());
new FindAllKeynotesTask() {
protected void onPreExecute() {
listener.getPullToRefreshAttacher().setRefreshing(true);
}
protected void onPostExecute(java.util.List<Keynote> result) {
setKeynotes(result);
listener.getPullToRefreshAttacher().setRefreshing(false);
}
}.execute();
}
public void setKeynotes(List<Keynote> keynotes) {
listKeynotes.setAdapter(new KeynotesAdapter(getActivity(), keynotes));
}
}