Xlistview加小圆点

来源:互联网 发布:脱脂牛奶 知乎 编辑:程序博客网 时间:2024/05/21 14:40
package com.example.duotiaomujiazai;import android.os.Handler;import android.os.Message;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.Toast;import com.example.duotiaomujiazai.utils.XListView;import com.google.gson.Gson;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener, ViewPager.OnPageChangeListener {private Handler handler=new Handler(){    @Override    public void handleMessage(Message msg) {        super.handleMessage(msg);        int currentItem = vp.getCurrentItem();        currentItem++;        vp.setCurrentItem(currentItem%4);        handlersend();    }};    private ByteArrayOutputStream stream;    private XListView xml;    private ViewPager vp;    private ListView lv;    private ListView lv1;    private LinearLayout ll;    private ArrayList<ImageView> imageViews;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        intoData();        xml = (XListView) findViewById(R.id.XML);        View inflate = View.inflate(MainActivity.this, R.layout.item1, null);        lv1 = (ListView) inflate.findViewById(R.id.lv);        vp = (ViewPager) inflate.findViewById(R.id.vp);        ll = (LinearLayout) inflate.findViewById(R.id.ll);
 //加头布局        xml.addHeaderView(inflate);        xml.setPullLoadEnable(true);        xml.setPullRefreshEnable(true);        xml.setXListViewListener(this);        PagerMyadapter pagerMyadapter = new PagerMyadapter(MainActivity.this);        vp.setAdapter(pagerMyadapter);vp.setCurrentItem(10000);        handlersend();        inDian();        vp.setOnPageChangeListener(this);    }    private void inDian() {        imageViews = new ArrayList<>();        if (imageViews!=null){            imageViews.clear();        }        for (int i=0;i<4;i++){            ImageView imageView = new ImageView(MainActivity.this);            if (i==0){                imageView.setImageResource(R.drawable.dian);            }else {                imageView.setImageResource(R.drawable.wu);            }            LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(20,20);            params.setMargins(10,0,10,0);            //加到组件里            ll.addView(imageView,params);            imageViews.add(imageView);        }    }    private void handlersend() {        handler.sendEmptyMessageDelayed(0,2000);    }    private void intoData() {        new Thread(){            @Override            public void run() {                super.run();                String path="http://ic.snssdk.com/2/article/v25/stream/?count=20&min_behot_time=1457659690&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457672153&loc_mode=5&lac=4527&cid=28883&iid=3839760160&device_id=12246291682&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=19&os_version=4.4.4&uuid=352284045861006&openudid=84c1c7b192991cc6";                try {                    URL url = new URL(path);                HttpURLConnection connection= (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("GET");                    connection.setConnectTimeout(5000);                    int responseCode = connection.getResponseCode();                    stream = new ByteArrayOutputStream();                    if (responseCode==200){                        InputStream inputStream = connection.getInputStream();                        byte[] buffer = new byte[1024];                        int len=-1;                        while ((len=inputStream.read(buffer))!=-1){                            stream.write(buffer,0,len);                        }                        runOnUiThread(new Runnable() {                            @Override                            public void run() {                                Gson gson = new Gson();                                Bean bean = gson.fromJson(stream.toString(), Bean.class);                                List<Bean.DataBean> data = bean.getData();                              //  Toast.makeText(MainActivity.this,data.toString(),Toast.LENGTH_SHORT).show();                                Myadapter myadapter = new Myadapter(data, MainActivity.this);                                xml.setAdapter(myadapter);                            }                        });                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        }.start();    }    @Override    public void onRefresh() {    }    @Override    public void onLoadMore() {    }    @Override    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {    }    @Override    public void onPageSelected(int position) {for (int i=0;i<4;i++){    if (position==i){        imageViews.get(position%4).setImageResource(R.drawable.dian);    }else {        imageViews.get(i).setImageResource(R.drawable.wu);    }}    }    @Override    public void onPageScrollStateChanged(int state) {    }}