package com.chinaztt.fda.test.ComInstance;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.OrientationHelper;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.chinaztt.fda.ui.R;
import com.chinaztt.fda.ui.base.BaseActivity;
import java.util.ArrayList;
import java.util.List;
/**
* 当前类注释:SwipeRefreshLayout+RecyclerView+CardView升级版本
* 项目名:FastDev4Android
* 包名:com.chinaztt.fda.test.ComInstance
* 作者:江清清 on 15/11/28 09:45
* 邮箱:jiangqqlmj@163.com
* QQ: 781931404
* 公司:江苏中天科技软件技术有限公司
*/
public class AdvanceComInstanceActivity extends BaseActivity{
private LinearLayout top_bar_linear_back;
private TextView top_bar_title;
private RecyclerView instance_recycler;
private LinearLayoutManager linearLayoutManager;
private AdvanceComInstanceAdapter adapter;
private SwipeRefreshLayout instance_swiperefreshlayout;
private int lastVisibleItem;
//是否正在加载更多的标志
private boolean isMoreLoading=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.com_instance_layout);
top_bar_linear_back=(LinearLayout)this.findViewById(R.id.top_bar_linear_back);
top_bar_linear_back.setOnClickListener(new CustomOnClickListener());
top_bar_title=(TextView)this.findViewById(R.id.top_bar_title);
top_bar_title.setText("综合实例升级版");
instance_swiperefreshlayout=(SwipeRefreshLayout)this.findViewById(R.id.instance_swiperefreshlayout);
//设置刷新时动画的颜色,可以设置4个
instance_swiperefreshlayout.setProgressBackgroundColorSchemeResource(android.R.color.white);
instance_swiperefreshlayout.setColorSchemeResources(android.R.color.holo_blue_light,
android.R.color.holo_red_light, android.R.color.holo_orange_light,
android.R.color.holo_green_light);
instance_recycler=(RecyclerView)this.findViewById(R.id.instance_recycler);
linearLayoutManager=new LinearLayoutManager(this);
linearLayoutManager.setOrientation(OrientationHelper.VERTICAL);
instance_recycler.setLayoutManager(linearLayoutManager);
instance_recycler.setAdapter(adapter = new AdvanceComInstanceAdapter(this, AdvanceIntanceDataUtils.getAdvanceInstanceBeans()));
//下拉刷新
instance_swiperefreshlayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
List<AdvanceInstanceBean> temp = new ArrayList<AdvanceInstanceBean>();
for (int i = 0; i < 3; i++) {
AdvanceInstanceBean advanceInstanceBean = new AdvanceInstanceBean();
List<InstanceBean> instanceBeans = new ArrayList<InstanceBean>();
for (int j = 0; j < 2; j++) {
InstanceBean bean = null;
if (j == 0) {
bean = new InstanceBean("我是左边标题Item" + i, R.drawable.baby);
} else {
bean = new InstanceBean("我是右边标题Item" + i, R.drawable.baby);
}
instanceBeans.add(bean);
}
advanceInstanceBean.setInstanceBeans(instanceBeans);
temp.add(advanceInstanceBean);
}
adapter.addRefreshBeans(temp);
instance_swiperefreshlayout.setRefreshing(false);
Toast.makeText(AdvanceComInstanceActivity.this, "更新了6条数据...", Toast.LENGTH_SHORT).show();
}
}, 3500);
}
});
//上拉加载更多
instance_recycler.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem + 1 == adapter.getItemCount()) {
if (!isMoreLoading) {
isMoreLoading = true;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
List<AdvanceInstanceBean> temp=new ArrayList<AdvanceInstanceBean>();
for (int i=0;i<2;i++){
AdvanceInstanceBean advanceInstanceBean=new AdvanceInstanceBean();
List<InstanceBean> instanceBeans=new ArrayList<InstanceBean>();
for(int j=0;j<2;j++){
InstanceBean bean=null;
if(j==0){
bean=new InstanceBean("我是左边标题Item"+i, R.drawable.meinv);
}else {
bean=new InstanceBean("我是右边标题Item"+i, R.drawable.meinv);
}
instanceBeans.add(bean);
}
advanceInstanceBean.setInstanceBeans(instanceBeans);
temp.add(advanceInstanceBean);
}
adapter.addMoreBeans(temp);
Toast.makeText(AdvanceComInstanceActivity.this, "上拉加载了四条数据...", Toast.LENGTH_SHORT).show();
isMoreLoading = false;
}
}, 2000);
}
}
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition();
}
});
adapter.setOnItemClickListener(new AdvanceComInstanceAdapter.OnItemClickListener() {
@Override
public void onItemClick(InstanceBean instanceBean) {
Toast.makeText(AdvanceComInstanceActivity.this,"点击的Item数据为:"+instanceBean,Toast.LENGTH_SHORT).show();
}
});
}
class CustomOnClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
AdvanceComInstanceActivity.this.finish();
}
}
}