package com.cheng.animationstudy.activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import com.cheng.animationstudy.R;
import com.cheng.animationstudy.customview.bagrefresh.BGANormalRefreshViewHolder;
import com.cheng.animationstudy.customview.bagrefresh.BGARefreshLayout;
import com.cheng.utils.UiUtil;
import com.cheng.utils.ViewFinder;
public class BGAScrollViewActivity extends AppCompatActivity implements BGARefreshLayout.BGARefreshLayoutDelegate {
public static final int LOADING_DURATION = 2000;
private BGARefreshLayout mRefreshLayout;
private TextView mClickableLabelTV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bgascrollview);
initView();
initListener();
}
private void initView() {
this.mRefreshLayout = ViewFinder.findViewById(this, R.id.rl_root);
this.mClickableLabelTV = ViewFinder.findViewById(this, R.id.tv_clickablelabel);
}
private void initListener() {
mRefreshLayout.setDelegate(this);
mRefreshLayout.setRefreshViewHolder(new BGANormalRefreshViewHolder(this, true));
}
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;
case R.id.tv_clickablelabel:
UiUtil.toast(this, "点击了测试文本");
break;
}
}
@Override
public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) {
new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
}
@Override
protected Void doInBackground(Void... params) {
SystemClock.sleep(LOADING_DURATION);
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
mRefreshLayout.endRefreshing();
mClickableLabelTV.setText("加载最新数据完成");
}
}.execute();
}
@Override
public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) {
new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
}
@Override
protected Void doInBackground(Void... params) {
SystemClock.sleep(LOADING_DURATION);
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
mRefreshLayout.endLoadingMore();
}
}.execute();
return true;
}
}