package cn.bingoogolapple.refreshlayout.demo.ui.fragment; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.TextView; import cn.bingoogolapple.refreshlayout.BGARefreshLayout; import cn.bingoogolapple.refreshlayout.BGAStickinessRefreshViewHolder; import cn.bingoogolapple.refreshlayout.demo.R; import cn.bingoogolapple.refreshlayout.demo.engine.DataEngine; import cn.bingoogolapple.refreshlayout.demo.ui.activity.MainActivity; /** * 作者:王浩 邮件:bingoogolapple@gmail.com * 创建时间:15/5/21 上午1:22 * 描述: */ public class RefreshScrollViewFragment extends BaseFragment implements BGARefreshLayout.BGARefreshLayoutDelegate { private static final String TAG = RefreshScrollViewFragment.class.getSimpleName(); private BGARefreshLayout mRefreshLayout; private TextView mClickableLabelTv; @Override protected void initView(Bundle savedInstanceState) { setContentView(R.layout.fragment_scrollview_refresh); mRefreshLayout = getViewById(R.id.rl_scrollview_refresh); mClickableLabelTv = getViewById(R.id.tv_scrollview_clickablelabel); } @Override protected void setListener() { mRefreshLayout.setDelegate(this); mClickableLabelTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showToast("点击了测试文本"); } }); } @Override protected void processLogic(Bundle savedInstanceState) { BGAStickinessRefreshViewHolder stickinessRefreshViewHolder = new BGAStickinessRefreshViewHolder(mApp, true); stickinessRefreshViewHolder.setStickinessColor(R.color.colorPrimary); stickinessRefreshViewHolder.setRotateImage(R.mipmap.bga_refresh_stickiness); mRefreshLayout.setRefreshViewHolder(stickinessRefreshViewHolder); mRefreshLayout.setCustomHeaderView(DataEngine.getCustomHeaderView(mApp), false); mRefreshLayout.setPullDownRefreshEnable(false); } @Override public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { new AsyncTask<Void, Void, Void>() { @Override protected void onPreExecute() { showLoadingDialog(); } @Override protected Void doInBackground(Void... params) { try { Thread.sleep(MainActivity.LOADING_DURATION); } catch (InterruptedException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Void aVoid) { dismissLoadingDialog(); mRefreshLayout.endRefreshing(); mClickableLabelTv.setText("加载最新数据完成"); } }.execute(); } @Override public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { new AsyncTask<Void, Void, Void>() { @Override protected void onPreExecute() { showLoadingDialog(); } @Override protected Void doInBackground(Void... params) { try { Thread.sleep(MainActivity.LOADING_DURATION); } catch (InterruptedException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Void aVoid) { dismissLoadingDialog(); mRefreshLayout.endLoadingMore(); Log.i(TAG, "上拉加载更多完成"); } }.execute(); return true; } }