Newer
Older
DownApp / app / src / main / java / me / bell / downapp / MainActivity.java
Bello on 10 Apr 2018 3 KB init
package me.bell.downapp;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.ListView;

import com.alibaba.fastjson.JSONObject;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.ArrayList;

import me.bell.downapp.adapter.AppAdapter;
import me.bell.downapp.bean.YYBBean;
import me.bell.downapp.bean.YYBData;
import me.bell.downapp.util.HttpUtils;

public class MainActivity extends AppCompatActivity  {
    private PullToRefreshListView mListView;

    private ArrayList<YYBData> mList = new ArrayList<>();
    private AppAdapter adapter;
    private int pageContext = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mListView = findViewById(R.id.main_list_view);
        mListView.setMode(PullToRefreshBase.Mode.BOTH);
        mListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                mList.clear();
                getUrl();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {

            }
        });
        adapter = new AppAdapter(MainActivity.this, mList);
        mListView.setAdapter(adapter);


    }


    private void getUrl(){
        final HttpUtils utils = new HttpUtils() {
            @Override
            public void callbackHttp(String httpResult) {

                Log.i("okHttp", httpResult);

                YYBBean bean = JSONObject.parseObject(httpResult, YYBBean.class);
                if (!bean.isSuccess()){
                    getMethod("http://android.myapp.com/myapp/cate/appList" +
                            ".htm?orgame=1&categoryId=122&pageSize=20&pageContext="+(pageContext==0?0:pageContext+1));
                }else {
                    mList.addAll(bean.getObj());
                    if (bean.isSuccess() && bean.getMsg().equals("success") && bean.getCount()==0 && bean.getObj().size()==0){
                        Log.e("list", "list: " + mList.size());
                        mHandler.sendEmptyMessage(0);
                        return;
                    }

                    pageContext+=20;
                    getMethod("http://android.myapp.com/myapp/cate/appList" +
                            ".htm?orgame=1&categoryId=122&pageSize=20&pageContext="+(pageContext==0?0:pageContext+1));
                }
            }
        };
        utils.getMethod("http://android.myapp.com/myapp/cate/appList" +
                ".htm?orgame=1&categoryId=122&pageSize=20&pageContext="+(pageContext==0?0:pageContext+1));
    }

    MHandler mHandler = new MHandler();
    class MHandler extends Handler {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            adapter.notifyDataSetChanged();
            mListView.onRefreshComplete();
        }
    }

}