package org.onebrick.android.fragments;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import org.onebrick.android.R;
import org.onebrick.android.activities.EventDetailActivity;
import org.onebrick.android.adapters.EventListAdapter;
import org.onebrick.android.models.Event;
import butterknife.Bind;
import butterknife.ButterKnife;
public abstract class EventsListFragment extends Fragment implements
LoaderManager.LoaderCallbacks<Cursor> {
private static final int EVENTS_LIST_LOADER = 25;
protected EventListAdapter mAdapter;
String chapterName;
int chapterId;
String searchQuery;
@Bind(R.id.lvEventList)
ListView lvEventList;
@Bind(R.id.tvEmptyEventList)
TextView tvEmptyEventList;
public EventsListFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_event_list, container, false);
ButterKnife.bind(this, view);
mAdapter = new EventListAdapter(getActivity(), null);
lvEventList.setEmptyView(tvEmptyEventList);
lvEventList.setAdapter(mAdapter);
lvEventList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
final Intent intent = new Intent(getActivity(), EventDetailActivity.class);
final Event event = Event.fromCursor((Cursor) mAdapter.getItem(position));
intent.putExtra(EventDetailActivity.EXTRA_EVENT_ID, event.getEventId());
startActivity(intent);
getActivity().overridePendingTransition(R.anim.right_in, R.anim.left_out);
}
});
getLoaderManager().initLoader(EVENTS_LIST_LOADER, null, this);
return view;
}
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.unbind(this);
}
@Override
public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {
mAdapter.swapCursor(cursor);
}
@Override
public void onLoaderReset(Loader<Cursor> cursorLoader) {
mAdapter.swapCursor(null);
}
}