package com.campus.prime.ui; import java.io.IOException; import java.util.List; import org.apache.http.client.ClientProtocolException; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.support.v7.view.ActionMode; import android.view.ActionMode.Callback; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.ListView; import android.widget.TextView; import com.campus.prime.R; import com.campus.prime.core.Message; import com.campus.prime.core.MessagePage; import com.campus.prime.core.service.MessageService; public class MessagePageFragment extends PagedItemFragment<Message>{ /** * service for loading data */ protected MessageService service = new MessageService(); @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setCurrentPage(new MessagePage()); } @Override protected SingleTypeAdapter<Message> createAdapter( List<Message> items) { // TODO Auto-generated method stub return new MessageListViewAdapter(getActivity(),R.layout.messages_listitem); } @SuppressWarnings("unchecked" ) @Override protected List<Message> load() { // TODO Auto-generated method stub List<Message> result = null; try { //currentPage = service.getUser(230); currentPage = service.getPublic(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } if(currentPage != null) result = (List<Message>)currentPage.getResults(); return result; } @SuppressWarnings("unchecked") @Override protected List<Message> next() { if(hasNext()){ currentPage = service.getNext(currentPage.getNext()); if(currentPage != null) return (List<Message>)currentPage.getResults(); else return null; } return null; } @Override public void onListItemClick(ListView l, View v, int position, long id) { // TODO Auto-generated method stub super.onListItemClick(l, v, position, id); } @Override public boolean onListItemLongClick(ListView l, View v, int position, long id) { // TODO Auto-generated method stub ((ActionBarActivity)getActivity()).startSupportActionMode(mCallback); return true; } private ActionMode.Callback mCallback = new ActionMode.Callback() { @Override public boolean onPrepareActionMode(ActionMode arg0, Menu arg1) { // TODO Auto-generated method stub return false; } @Override public void onDestroyActionMode(ActionMode arg0) { // TODO Auto-generated method stub } @Override public boolean onCreateActionMode(ActionMode arg0, Menu arg1) { // TODO Auto-generated method stub MenuInflater inflater = arg0.getMenuInflater(); inflater.inflate(R.menu.message_am,arg1); return true; } @Override public boolean onActionItemClicked(ActionMode arg0, MenuItem arg1) { // TODO Auto-generated method stub boolean ret = false; switch(arg1.getItemId()){ case R.id.msg_praise: onPraise(); break; case R.id.msg_comment: onComment(); break; case R.id.msg_collect: onCollect(); break; } return ret; } }; protected void onPraise(){ } protected void onComment(){ } protected void onCollect(){ } }