activity:
package com.example.caidanliandong; import android.annotation.SuppressLint; 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.support.v7.widget.RecyclerView; import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.example.caidanliandong.adapter.LunBoAdapter; import com.example.caidanliandong.bean.LunBoBean; import com.example.caidanliandong.presenter.OtherPresenterimpl; import com.example.caidanliandong.view.OtherView; import java.util.ArrayList; import java.util.List; public class OtherActivity extends AppCompatActivity implements OtherView{ private TextView other_title; private ViewPager view_pager; private OtherPresenterimpl otherPresenterimpl; private LunBoAdapter lunBoAdapter; private List<LunBoBean.DataBean> data; @SuppressLint("HandlerLeak") private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==0){ int currentItem = view_pager.getCurrentItem(); view_pager.setCurrentItem(currentItem+1); pointChange((currentItem+1)%data.size()); handler.sendEmptyMessageDelayed(0,2000); } } }; private ArrayList<ImageView> images; private LinearLayout linear_layout; private void pointChange(int i) { for (int j=0;j<images.size();j++) { if (i == j) { images.get(j).setImageResource(R.drawable.red); } else { images.get(j).setImageResource(R.drawable.white); } } } private int size; //https://www.zhaoapi.cn/quarter/getAd @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_other); //初始化控件 other_title = findViewById(R.id.other_title); linear_layout = findViewById(R.id.linear_layout); view_pager = findViewById(R.id.view_pager); //获取传过来的数据 String title = getIntent().getStringExtra("goods"); other_title.setText(title); otherPresenterimpl = new OtherPresenterimpl(this); otherPresenterimpl.getData(); images = new ArrayList<>(); } @Override public void onSuccess(final LunBoBean lunBoBean) { data = lunBoBean.getData(); if( data!=null){ runOnUiThread(new Runnable() { @Override public void run() { lunBoAdapter = new LunBoAdapter(OtherActivity.this,data); view_pager.setAdapter(lunBoAdapter); size = data.size(); point(size); handler.sendEmptyMessageDelayed(0,2000); } }); } } private void point(int size) { for (int i=0;i<size;i++) { ImageView imageView = new ImageView(this); imageView.setScaleType(ImageView.ScaleType.FIT_XY); if (i == 0) { imageView.setImageResource(R.drawable.red); } else { imageView.setImageResource(R.drawable.white); } LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(30, 30); linear_layout.addView(imageView,params); images.add(imageView); } } @Override public void onError(int code) { } }
adapter:
package com.example.caidanliandong.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v4.view.PagerAdapter; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.example.caidanliandong.bean.LunBoBean; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; /** * Created by 小薇 on 2018/7/22. */ public class LunBoAdapter extends PagerAdapter{ private Context context; private List<LunBoBean.DataBean> dataBeans; public LunBoAdapter(Context context, List<LunBoBean.DataBean> dataBeans) { this.context = context; this.dataBeans = dataBeans; } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { return view==object; } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { ImageView imageView = new ImageView(context); imageView.setScaleType(ImageView.ScaleType.FIT_XY); ImageLoader.getInstance().displayImage(dataBeans.get(position%dataBeans.size()).getIcon(),imageView); // Glide.with(context).load(dataBeans.get(position%dataBeans.size())).into(imageView); container.addView(imageView); return imageView; } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView((View)(object)); } }