ListView分页加载,数据由NOHttp加载

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);
}
本人菜鸟一个也是第一次记录自己的东西,有很多东西也不懂,请大家见谅!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值