轮播图——上下刷新----

//主布局

    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.bawi.lunfan.MainActivity">
            android:id="@+id/pull_to_refresh_scrollview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
            android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

                    android:layout_width="match_parent"
            android:layout_height="240dp">

                            android:id="@+id/view_pager"
                android:layout_width="match_parent"
                android:layout_height="240dp">

                            android:id="@+id/ll_point"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:gravity="center"
                android:layout_alignBottom="@id/view_pager"
                android:layout_alignParentRight="true"
                android:orientation="horizontal" />
       

                    android:id="@+id/list_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
   

   



//子布局

    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

            android:id="@+id/t_iamge"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        app:srcCompat="@mipmap/ic_launcher" />

            android:id="@+id/t_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toEndOf="@+id/t_iamge"
        android:layout_toRightOf="@+id/t_iamge"
        android:text="TextView" />

            android:id="@+id/t_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/t_iamge"
        android:layout_toEndOf="@+id/t_iamge"
        android:layout_toRightOf="@+id/t_iamge"
        android:text="TextView" />


//主Activity


public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity===";
    public static String url = "https://www.zhaoapi.cn/ad/getAd";
    public  static String two_url="https://api.tianapi.com/wxnew/?key=48a7d7193e11bd2dd4a683b6e2f90a4f&num=10";
    private ViewPager viewPager;
    private List ps = new ArrayList<>();
    private List ads = new ArrayList<>();
    private LinearLayout ll_points;
    private AdAdapter adAdapter;
    private ListAdapter listAdapter;
    private MyListview listView;
    private int page=1;
    private PullToRefreshScrollView pullToRefreshScrollView;
    List list=new ArrayList<>();
    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);
            for (int i = 0; i < ps.size(); i++) {
                if (i == viewPager.getCurrentItem() % ps.size()) {
                   // ps.get(i).setSelected(true);
                    ps.get(i).setImageResource(R.drawable.points);
                } else {
                   // ps.get(i).setSelected(false);
                    ps.get(i).setImageResource(R.drawable.gravity);
                }
            }
            handler.sendEmptyMessageDelayed(0, 1000);
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initViews();
        listAdapter=new ListAdapter(MainActivity.this,list);
        listView.setAdapter(listAdapter);
        initDatas();


    }

    private void initDatas() {
        HttpUtils httpUtils = HttpUtils.getInstance();
        //获取网址
        httpUtils.get(url);
        httpUtils.setHttpUtilsListener(new HttpUtils.HttpUtilListener() {
            @Override
            public void getSuccess(String json) {
                //log打印是否获取到数据
                Log.d(TAG, "成功" + json);
                //GSON解析
                Gson gson = new Gson();
                AdBean adBean = gson.fromJson(json, AdBean.class);
                List data = adBean.getData();
                for (int i = 0; i < data.size(); i++) {
                    String icon = data.get(i).getIcon();
                    ImageView imageView = new ImageView(MainActivity.this);
                    ImageLoader.getInstance().displayImage(icon, imageView, MyApp.getOptions());
                    ads.add(imageView);
                    //添加小圆点
                    ImageView p = new ImageView(MainActivity.this);
                    p.setImageResource(R.drawable.gravity);
                    ps.add(p);
                    LinearLayout.LayoutParams lp = new
                            LinearLayout.LayoutParams(20, 20);
                    lp.setMargins(15, 0, 15, 0);
                    // p.setLayoutParams(lp);
                    //将小圆点放入布局里
                     /*TextView textView = new TextView(MainActivity.this);
                     textView.setText("Hello");*/
                    ll_points.addView(p, lp);
                }
                //默认选中第一个
                ps.get(0).setSelected(true);
                //设置适配器
                adAdapter = new AdAdapter(ads);
                viewPager.setAdapter(adAdapter);
                //hander转动
                handler.sendEmptyMessageDelayed(0, 1000);
                //不断更新
                adAdapter.notifyDataSetChanged();
                initNewsDatas();

            }

            @Override
            public void getError(String error) {

            }
        });
    }

    private void initNewsDatas() {
        HttpUtils httpUtils=HttpUtils.getInstance();
        httpUtils.get(two_url);
        httpUtils.setHttpUtilsListener(new HttpUtils.HttpUtilListener() {
            @Override
            public void getSuccess(String json) {
                Log.d(TAG, "成功"+json);
                Gson gson=new Gson();
                NewsBean newsBean=gson.fromJson(json,NewsBean.class);
                 List s_data=newsBean.getNewslist();

                 if (page==1){
                     list.clear();
                 }
                list.addAll(s_data);
                listAdapter.notifyDataSetChanged();
                pullToRefreshScrollView.onRefreshComplete();
            }
            @Override
            public void getError(String error) {
                Log.d(TAG, "失败"+error);
            }
        });
    }


    private void initViews() {
        viewPager = findViewById(R.id.view_pager);
        ll_points = findViewById(R.id.ll_point);
        listView=findViewById(R.id.list_view);
      pullToRefreshScrollView=findViewById(R.id.pull_to_refresh_scrollview);
      pullToRefreshScrollView.setMode(PullToRefreshScrollView.Mode.BOTH);
      pullToRefreshScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {
          @Override
          public void onPullDownToRefresh(PullToRefreshBase refreshView) {
              page=1;
              initNewsDatas();
          }

          @Override
          public void onPullUpToRefresh(PullToRefreshBase refreshView) {
              page++;
              initNewsDatas();
          }
      });
    }
}

你可能感兴趣的:(轮播图——上下刷新----)