Xlistview

来源:互联网 发布:淘宝闲鱼网官网 编辑:程序博客网 时间:2024/06/16 12:33
package com.bawei.user.my_xlistciew;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.bawei.user.my_xlistciew.view.XListView;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
import static android.R.attr.dashGap;
import static android.R.attr.data;
import static android.R.attr.x;
import static android.icu.lang.UCharacter.GraphemeClusterBreak.T;
public class MainActivity extends AppCompatActivity implements  XListView.IXListViewListener{
    private List<JBean.DataBean> data=new ArrayList<>();
    private XListView xl;
    private Handler mHandler = new Handler();
    private  Sheipei sheipei;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        xl= (XListView) findViewById(R.id.xl);
        xl.setPullLoadEnable(true);//设置可以实现上下拉的效果
        xl.setXListViewListener(this);//这个是必须要设置的
        shuju();
    }
    private void shuju() {
        new Thread(){
            @Override
            public void run() {
                super.run();
                final String getjson = Qinqiu.getjson();
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Gson gson = new Gson();
                        JBean jBean = gson.fromJson(getjson, JBean.class);
                        data =  jBean.data;
                   //    shipei.notifyDataSetChanged();
                        sheipei =  new Sheipei();
                        xl.setAdapter(sheipei);
                    }
                });
            }
        }.start();
    }
    //下拉1
    @Override
    public void onRefresh() {
        //延时两秒的方法
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                data.clear();
                shuju();
               //  shipei.notifyDataSetChanged();
                onLoad();
            }
        },2000);
    }
//上啦
    @Override
    public void onLoadMore() {
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                data.addAll(data);
               sheipei.notifyDataSetChanged();
                onLoad();
            }
        },2000);
    }
    private  void onLoad(){
        xl.stopRefresh();
        xl.stopLoadMore();
        xl.setRefreshTime("刚刚");
    }
    class Sheipei extends BaseAdapter{
        @Override
        public int getCount() {
            return data.size();
        }
        @Override
        public Object getItem(int i) {
            return data.get(i);
        }
        @Override
        public long getItemId(int i) {
            return i;
        }
        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
        view=View.inflate(MainActivity.this,R.layout.tian,null);
         TextView tv= view.findViewById(R.id.tv);
            tv.setText(data.get(i).title);
            return view;
        }
    }
}





package com.bawei.user.my_xlistciew;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import static android.icu.util.MeasureUnit.BYTE;
/**
 * Created by user on 2017/09/11.
 */
public class Qinqiu {
    static  String path="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1";
    private static ByteArrayOutputStream outputStream;
    public static  String getjson() {
        try {
            URL url = new URL(path);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setReadTimeout(5000);
            int responseCode = connection.getResponseCode();
            outputStream = new ByteArrayOutputStream();
            if(responseCode==200){
                InputStream inputStream = connection.getInputStream();
                byte[] b = new byte[1024];
                int len=-1;
                while((len=inputStream.read(b))!=-1){
                    outputStream.write(b,0,len);
                }
                return  outputStream.toString();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return  outputStream.toString();
    }
}



//权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

原创粉丝点击