package com.example.android_fuxi_20180427; 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.ScrollView; import com.example.android_fuxi_20180427.adapter.MyAdapter3; import com.example.android_fuxi_20180427.data.ReaData3; import com.example.android_fuxi_20180427.data.ReaDataimg; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshScrollView; import java.util.ArrayList; import java.util.List; public class Main3Activity extends AppCompatActivity { private int pagerpp=1; private int pagertype=1; private ViewPager viewPager; private LinearLayout layout; private List<ReaData3.DataBean> indata; private List<ReaDataimg.DataBean> data; private List<ImageView> lists=new ArrayList<>(); private String pathimg="https://www.zhaoapi.cn/quarter/getAd?page=1"; private String path="https://www.zhaoapi.cn/product/searchProducts?keywords=%E6%89%8B%E6%9C%BA&source=android&page="+pagerpp; private Handler handler=new Handler( ){ @Override public void handleMessage(Message msg) { super.handleMessage( msg ); int cIndex=viewPager.getCurrentItem(); cIndex++; viewPager.setCurrentItem(cIndex); //改变指示器 setSelectedPoint(cIndex%lists.size()); sendEmptyMessageDelayed(0,1000); } }; private ListView listView; private PullToRefreshScrollView psv; private MyAdapter3 myAdapter; private void setSelectedPoint(int pager) { for (int i = 0; i <lists.size() ; i++) { if (i==pager){ lists.get( i ).setImageResource( R.drawable.point_selected ); }else { lists.get( i ).setImageResource( R.drawable.point_unselected ); } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate( savedInstanceState ); setContentView( R.layout.activity_main3 ); indata=new ArrayList<>( ); psv = findViewById( R.id.pvss ); viewPager = findViewById( R.id.vp ); layout = findViewById( R.id.lin_point ); listView = findViewById( R.id.lv ); iniplv(); initImg(); initData(); } private void iniplv() { psv.setMode( PullToRefreshBase.Mode.BOTH ); psv.setOnRefreshListener( new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { pagertype=1; pagerpp=1; path="https://www.zhaoapi.cn/product/searchProducts?keywords=%E6%89%8B%E6%9C%BA&source=android&page="+pagerpp; initData(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { pagertype=2; pagerpp++; path="https://www.zhaoapi.cn/product/searchProducts?keywords=%E6%89%8B%E6%9C%BA&source=android&page="+pagerpp; initData(); } } ); } private void initData() { MyTask task = new MyTask( new MyTask.ICallBacks() { @Override public void getJsonData(String jsonstr) { Gson gson = new Gson(); ReaData3 reaData3 = gson.fromJson( jsonstr, ReaData3.class ); List<ReaData3.DataBean> datas = reaData3.getData(); if (pagertype==1){ indata.clear(); } indata.addAll( datas ); setAdapter(); psv.onRefreshComplete(); } } ); task.execute( path ); } private void setAdapter() { if (myAdapter == null) { myAdapter = new MyAdapter3( indata, Main3Activity.this ); listView.setAdapter( myAdapter ); }else { myAdapter.notifyDataSetChanged(); } } private void initImg() { MyTask myTask = new MyTask( new MyTask.ICallBacks() { @Override public void getJsonData(String jsonstr) { Gson gson = new Gson(); ReaDataimg reaDataimg = gson.fromJson( jsonstr, ReaDataimg.class ); data = reaDataimg.getData(); MyViewPager myViewPager = new MyViewPager(data,Main3Activity.this,handler); viewPager.setAdapter( myViewPager ); initpont(); viewPager.setCurrentItem( data.size()*10 ); handler.sendEmptyMessageDelayed( 0,1000 ); } } ); myTask.execute( pathimg ); } private void initpont() { layout.removeAllViews(); lists.clear(); for (int i = 0; i <data.size() ; i++) { ImageView imageView = new ImageView( this ); LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT); params.setMargins( 0,0,10,0 ); if (i==0){ imageView.setImageResource( R.drawable.point_selected ); }else { imageView.setImageResource( R.drawable.point_unselected ); } layout.addView( imageView,params ); lists.add( imageView ); } } }
************************************
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 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.example.android_fuxi_20180427.Main3Activity"> <com.handmark.pulltorefresh.library.PullToRefreshScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/pvss"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <!--轮播图--> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="200dp" android:id="@+id/vp"></android.support.v4.view.ViewPager> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/lin_point" android:orientation="horizontal" android:gravity="center" android:layout_gravity="bottom"></LinearLayout> </FrameLayout> <com.example.android_fuxi_20180427.MyListview android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/lv"></com.example.android_fuxi_20180427.MyListview> </LinearLayout> </com.handmark.pulltorefresh.library.PullToRefreshScrollView> </LinearLayout>