package com.itbox.grzl.fragment; import handmark.pulltorefresh.library.PullToRefreshListView; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.TextView; import butterknife.ButterKnife; import butterknife.InjectView; import butterknife.OnClick; import com.itbox.fx.net.GsonResponseHandler; import com.zhaoliewang.grzl.R; import com.itbox.grzl.activity.CommentAddActivity; import com.itbox.grzl.activity.CommentInfoActivity; import com.itbox.grzl.adapter.CommentListAdapter; import com.itbox.grzl.bean.CommentGet; import com.itbox.grzl.engine.CommentEngine; import com.itbox.grzl.engine.CommentEngine.CommentItem; /** * 论坛主页 * * @author baoboy * @date 2014-5-24下午5:59:58 */ public class CommentFragment extends BaseLoadFragment<CommentGet> { @InjectView(R.id.text_medium) protected TextView mTitleTv; @InjectView(R.id.text_right) protected TextView mRightTv; @InjectView(R.id.lv_list) protected PullToRefreshListView mListView; private CommentListAdapter mAdapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_comment, null); ButterKnife.inject(this, view); initView(); return view; } private void initView() { mTitleTv.setText("行业论坛"); // 右侧发布按钮 mRightTv.setText("发布论坛"); mRightTv.setVisibility(View.VISIBLE); mAdapter = new CommentListAdapter(getActivity(), null); initLoad(mListView, mAdapter, CommentGet.class); } @Override protected int getLoaderId() { return super.getLoaderId() + 1; } @OnClick(R.id.text_right) public void onClick(View v) { // 进入发布论坛页面 startActivityForResult(CommentAddActivity.class, 0); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { loadFirstData(); } @Override protected void loadData(final int page) { CommentEngine.getComment(page, new GsonResponseHandler<CommentItem>( CommentItem.class) { @Override public void onSuccess(CommentItem bean) { // 保存到数据库 if (bean != null) { saveData(page, bean.getCommentItem()); } } @Override public void onFinish() { super.onFinish(); loadFinish(); } @Override public void onFailure(Throwable error, String content) { super.onFailure(error, content); // 还原页码 restorePage(); } }); } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 进入论坛详情页面 Intent intent = new Intent(getActivity(), CommentInfoActivity.class); CommentGet bean = new CommentGet(); bean.loadFromCursor((Cursor) mAdapter.getItem(position - 1)); intent.putExtra("bean", bean); startActivity(intent); } }