package com.mcxiaoke.minicat.fragment; import android.database.Cursor; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.CursorAdapter; import com.mcxiaoke.commons.view.endless.EndlessListView; import com.mcxiaoke.minicat.AppContext; import com.mcxiaoke.minicat.adapter.StatusCursorAdapter; import com.mcxiaoke.minicat.controller.UIController; import com.mcxiaoke.minicat.dao.model.StatusModel; /** * @author mcxiaoke * @version 1.3 2012.02.22 */ public abstract class BaseTimlineFragment extends SwipeRefreshListFragment { private static final String TAG = BaseTimlineFragment.class.getSimpleName(); @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { final Cursor cursor = (Cursor) parent.getItemAtPosition(position); if (cursor != null) { final StatusModel s = StatusModel.from(cursor); if (s != null) { UIController.goStatusPage(getActivity(), s); } } } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (getType() == StatusModel.TYPE_PUBLIC) { getListView().setRefreshMode(EndlessListView.RefreshMode.NONE); } } @Override protected void parseArguments(Bundle args) { } @Override protected CursorAdapter onCreateAdapter() { if (AppContext.DEBUG) { Log.d(TAG, "createAdapter() id=" + this + "activity =" + getActivity()); } return new StatusCursorAdapter(getActivity(), isColored()); } @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { final Cursor c = (Cursor) parent.getItemAtPosition(position); showPopup(getActivity(), view, c); return true; } protected boolean isColored() { return true; } }