package com.cheng.animationstudy.activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.ListView; import com.cheng.animationstudy.C; import com.cheng.animationstudy.R; import com.cheng.animationstudy.customview.bagrefresh.BGANormalRefreshViewHolder; import com.cheng.animationstudy.customview.bagrefresh.BGARefreshLayout; import com.cheng.animationstudy.customview.googleimitatecode.ListViewDemoAdapter; import com.cheng.utils.UiUtil; import com.cheng.utils.ViewFinder; public class BGANormalListViewActivity extends AppCompatActivity implements BGARefreshLayout.BGARefreshLayoutDelegate { private BGARefreshLayout mRefreshLayout; private ListView mDataLV; private ListViewDemoAdapter mAdapter; private Handler mHandler; private int mNewPageNumber = 0; private int mMorePageNumber = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_bganormallistview); initView(); initListener(); } private void initView() { this.mRefreshLayout = ViewFinder.findViewById(this, R.id.rl_root); this.mDataLV = ViewFinder.findViewById(this, R.id.lv_data); this.mAdapter = new ListViewDemoAdapter(this); this.mHandler = new Handler(); this.mDataLV.setAdapter(mAdapter); this.mRefreshLayout.setRefreshViewHolder(new BGANormalRefreshViewHolder(this, true)); } private void initListener() { this.mRefreshLayout.setDelegate(this); } public void onClick(View v) { switch (v.getId()) { case R.id.btn_retweet: UiUtil.toast(this, "点击了转发"); break; case R.id.btn_comment: UiUtil.toast(this, "点击了评论"); break; case R.id.btn_praise: UiUtil.toast(this, "点击了赞"); break; } } @Override public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { mNewPageNumber++; if (mNewPageNumber > 4) { mRefreshLayout.endRefreshing(); UiUtil.toast(this, "没有最新数据了"); return; } mHandler.postDelayed(new Runnable() { @Override public void run() { mAdapter.addString(false); mRefreshLayout.endRefreshing(); } }, C.Int.IMITATE_NET_DELAYED); } @Override public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { mMorePageNumber++; if (mMorePageNumber > 5) { mRefreshLayout.endLoadingMore(); UiUtil.toast(this, "没有更多数据了"); return false; } mHandler.postDelayed(new Runnable() { @Override public void run() { mAdapter.addString(true); mRefreshLayout.endLoadingMore(); } }, C.Int.IMITATE_NET_DELAYED); return true; } private void overlay(Class clazz) { Intent intent = new Intent(BGANormalListViewActivity.this, clazz); startActivity(intent); } }