package com.ywwxhz.processers; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import com.melnykov.fab.FloatingActionButton; import com.ywwxhz.adapters.CommentListAdapter; import com.ywwxhz.cnbetareader.R; import com.ywwxhz.data.impl.NewsCommentProvider; import com.ywwxhz.entitys.CommentItem; import com.ywwxhz.fragments.AddNewCommentFragment; import com.ywwxhz.lib.kits.Toolkit; /** * Created by ywwxhz on 2014/11/2. */ public class NewsCommentProcesser extends BaseListProcesser<CommentItem,NewsCommentProvider> { private TextView message; private FloatingActionButton actionButton; private boolean reverse; public NewsCommentProcesser(NewsCommentProvider provider) { super(provider); } public void setParams(int sid, String sn){ provider.setSid(sid); provider.setSn(sn); } @Override public void assumeView(View view) { super.assumeView(view); this.message = (TextView) view.findViewById(R.id.message); this.actionButton = (FloatingActionButton) view.findViewById(R.id.action); this.message.setClickable(true); this.actionButton.attachToListView(getListView()); this.actionButton.setImageResource(R.mipmap.ic_edit); this.actionButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AddNewCommentFragment fragment = AddNewCommentFragment.getInstance(provider.getSid(), "0", provider.getToken()); fragment.show(mActivity.getFragmentManager(), "new comment"); } }); this.actionButton.setScaleX(0); this.actionButton.setScaleY(0); provider.setMessage(message); provider.setActionButton(actionButton); provider.setListView(getListView()); provider.setSwipeLayout(getSwipeLayout()); } @Override public void loadData(boolean startup) { Toolkit.runInUIThread(new Runnable() { @Override public void run() { getSwipeLayout().setRefreshing(true); makeRequest(); } }, startup?400:0); } private void makeRequest() { this.message.setVisibility(View.GONE); provider.loadNewData(); } @Override public void onLoadFinish(int size) { super.onLoadFinish(size); if(getProvider().getAdapter().getCount()!=0){ getLoader().setFinally(); getActivity().invalidateOptionsMenu(); } } @Override public void onRefresh() { makeRequest(); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { if(provider.getAdapter().getCount()>0) { inflater.inflate(R.menu.menu_comment_list, menu); } } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId()==R.id.menu_reverse){ CommentListAdapter adapter = getProvider().getAdapter(); adapter.setReverse(!adapter.isReverse()); adapter.notifyDataSetChanged(); return true; }else if(item.getItemId() == R.id.menu_hot_comment){ CommentListAdapter adapter = getProvider().getAdapter(); adapter.setShowHot(!adapter.isShowHot()); if(adapter.isShowHot()) { setHeadViewText("热门评论"); item.setTitle("全部评论"); item.setIcon(R.drawable.ic_normal_comment); reverse = adapter.isReverse(); adapter.setReverse(true); }else{ setHeadViewText("全部评论"); adapter.setReverse(reverse); item.setTitle("热门评论"); item.setIcon(R.drawable.ic_hot_comment); } adapter.notifyDataSetChanged(); return true; } return super.onOptionsItemSelected(item); } }