package com.cheng.animationstudy.activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.RadioGroup;
import com.cheng.animationstudy.C;
import com.cheng.animationstudy.R;
import com.cheng.animationstudy.customview.pulltorefresh01.PullToRefreshView;
import com.cheng.utils.ViewFinder;
import java.util.ArrayList;
/**
* 下拉刷新下拉加载
* ListView、GridView、ScrollView都可以集成使用
* 特点:集成简单,类似SwipeRefreshLayout
*/
public class PullToRefreshAnim01Activity extends AppCompatActivity implements PullToRefreshView.OnHeaderRefreshListener,PullToRefreshView.OnFooterRefreshListener {
private RadioGroup mChangeContentRG;
private PullToRefreshView mListViewPTR;
private PullToRefreshView mGridViewPTR;
private PullToRefreshView mScrollViewPTR;
private ListView mTestLV;
private GridView mTestGV;
private ArrayAdapter<String> mListAdapter;
private ArrayList<String> mValueList = new ArrayList<String>() {{
add("value 0");
add("value 1");
add("value 2");
add("value 3");
add("value 4");
add("value 5");
add("value 6");
add("value 7");
add("value 8");
add("value 9");
add("value 10");
}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pulltorefreshanim01);
initView();
initListener();
initData();
}
private void initView() {
this.mChangeContentRG = ViewFinder.findViewById(this, R.id.rg_changecontent);
this.mListViewPTR = ViewFinder.findViewById(this, R.id.ptr_listview);
this.mGridViewPTR = ViewFinder.findViewById(this, R.id.ptr_gridview);
this.mScrollViewPTR = ViewFinder.findViewById(this, R.id.ptr_scrollview);
this.mTestLV = ViewFinder.findViewById(this, R.id.lv_test);
this.mTestGV = ViewFinder.findViewById(this, R.id.gv_test);
}
private void initListener() {
this.mChangeContentRG.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rb_showlistview:
mListViewPTR.setVisibility(View.VISIBLE);
mGridViewPTR.setVisibility(View.GONE);
mScrollViewPTR.setVisibility(View.GONE);
break;
case R.id.rb_showgridview:
mListViewPTR.setVisibility(View.GONE);
mGridViewPTR.setVisibility(View.VISIBLE);
mScrollViewPTR.setVisibility(View.GONE);
break;
case R.id.rb_showscrollview:
mListViewPTR.setVisibility(View.GONE);
mGridViewPTR.setVisibility(View.GONE);
mScrollViewPTR.setVisibility(View.VISIBLE);
break;
}
}
});
this.mListViewPTR.setOnHeaderRefreshListener(this);
this.mGridViewPTR.setOnHeaderRefreshListener(this);
this.mScrollViewPTR.setOnHeaderRefreshListener(this);
this.mListViewPTR.setOnFooterRefreshListener(this);
this.mGridViewPTR.setOnFooterRefreshListener(this);
this.mScrollViewPTR.setOnFooterRefreshListener(this);
}
private void initData() {
this.mListAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mValueList);
this.mTestLV.setAdapter(mListAdapter);
this.mTestGV.setAdapter(mListAdapter);
}
@Override
public void onHeaderRefresh(final PullToRefreshView pullToRefreshView) {
mChangeContentRG.postDelayed(new Runnable() {
@Override
public void run() {
pullToRefreshView.onHeaderRefreshComplete();
}
}, C.Int.IMITATE_NET_DELAYED * 2);
}
@Override
public void onFooterRefresh(final PullToRefreshView pullToRefreshView) {
mChangeContentRG.postDelayed(new Runnable() {
@Override
public void run() {
pullToRefreshView.onFooterRefreshComplete();
}
}, C.Int.IMITATE_NET_DELAYED * 2);
}
}