private ListView lv_repeat_works;
private ImageView img_icon_repeat_works_back;
private List<TaskForwardList> taskForwardLists = new ArrayList<TaskForwardList>();
private CallSever callSever;
private RepeatAdapter repeatAdapter;
private View relativeLayout_foot;
private User user;
private boolean isLoad = false;
/** 首次网络请求页码 */
private int FIRST_PAGE = 1;
/** 数据请求页码 **/
private int topage = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_repeat);
user = SPUtils.getObject("user", User.class);
callSever = CallSever.getRequestInstance();
BaseApplication.mHandler = new Handler() {
@Override
public void handleMessage(Message msg) { //数据回掉处理
if(msg.what == UI_UPDATE_FORWARD) {
taskForwardLists.addAll((List<TaskForwardList>) msg.obj);
setAdapter(taskForwardLists);
if(topage==BaseApplication.getTotalPage()) {
lv_repeat_works.addFooterView(relativeLayout_foot);
}
}
}
};
init();
getForwardData(FIRST_PAGE);
}
private void init() {
//底部foot
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
relativeLayout_foot = layoutInflater.inflate(R.layout.activity_footview, null);
img_icon_repeat_works_back = (ImageView) findViewById(R.id.img_icon_repeat_works_back);
//listView
lv_repeat_works = (ListView) findViewById(R.id.lv_repeat_works);
//ListView绑定监听
lv_repeat_works.setOnScrollListener(this);
img_icon_repeat_works_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
//设置Adapter
private void setAdapter(List<TaskForwardList> taskForwardLists) {
if(repeatAdapter == null) {
repeatAdapter = new RepeatAdapter(ForwardActivity.this, taskForwardLists);
lv_repeat_works.setAdapter(repeatAdapter);
} else {
repeatAdapter.notifyDataSetChanged();
}
repeatAdapter.notifyDataSetChanged();
}
/**最重要的是在这个上拉的动作中添加所需要的逻辑*/
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
//判断listView上拉动作
if(isLoad && i == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
topage++;
if(topage>BaseApplication.getTotalPage()) {
return;
}
getForwardData(topage);
}
}
@Override
public void onScroll(AbsListView absListView, int i, int i1, int i2) {
isLoad = ((i+i1) == i2);
}
//一下是用nohttp加载的数据 ,不懂的可以先去了解下nohttp这个加载数据的框架,我也只是菜鸟一枚
private void getForwardData(int page) {
user = SPUtils.getObject("user", User.class);
Request<String> request = NoHttp.createStringRequest(BASE_HTTP_URL + "Forward/ArticalList");
request.addHeader("access-key", user.getToken());
request.add("page", page);
request.add("pageSize", 10);
request.add("catalogID", 2);
callSever.add(this, TASK_FORWARD_LIST, request, this, true, true);
}
本人菜鸟一个也是第一次记录自己的东西,有很多东西也不懂,请大家见谅!