mainActivity代码:
public class MainActivity extends AppCompatActivity implements IView{
RecyclerView recyclerview;
String path = "http://result.eolinker.com/umIPmfS6c83237d9c70c7c9510c9b0f97171a308d13b611?uri=homepage";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerview = (RecyclerView) findViewById(R.id.recyclerview_show);
MyPresenter myPresenter = new MyPresenter();
myPresenter.attach(this);
myPresenter.get(path, DadaBean.class);
}
@Override
public void onSuccess(Object object) {
Log.e("MainActivity","请求网络成功");
DadaBean dadabean = (DadaBean) object;
DadaBean.DataBean data = dadabean.getData();
LinearLayoutManager lm = new LinearLayoutManager(this);
recyclerview.setLayoutManager(lm);
AllAdapter allAdapter = new AllAdapter(this, data);
recyclerview.setAdapter(allAdapter);
}
@Override
public void onFalse(Exception ex) {
Log.e("MainActivity","请求网络失败");
}
}
适配器
public class AllAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
Context context;
DadaBean.DataBean data;
public static final int Lun = 0;
public static final int Recyc = 1;
public AllAdapter(Context context, DadaBean.DataBean data) {
this.context = context;
this.data = data;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if(viewType==Lun){
View v = View.inflate(context,R.layout.banner_item,null);
ViewHolderBanner vb = new ViewHolderBanner(v);
return vb;
}else{
View v = View.inflate(context,R.layout.recyclerview_item,null);
ViewHolderDuo vd = new ViewHolderDuo(v);
return vd;
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if(holder instanceof ViewHolderBanner){
ViewHolderBanner vb = (ViewHolderBanner) holder;
List<DadaBean.DataBean.Ad1Bean> ad1 = data.getAd1();
List<String> ImgArr = new ArrayList<>();
for(int i=0;i<ad1.size();i++){
ImgArr.add(ad1.get(i).getImage());
}
vb.banner.setImageLoader(new BannerImageLoader());
vb.banner.setImages(ImgArr);
vb.banner.setDelayTime(1000);
vb.banner.start();
}else if(holder instanceof ViewHolderDuo){
ViewHolderDuo vd = (ViewHolderDuo) holder;
GridLayoutManager lm = new GridLayoutManager(context,2);
vd.rv.setLayoutManager(lm);
List<DadaBean.DataBean.SubjectsBean.GoodsListBeanX> goodsList = data.getSubjects().get(0).getGoodsList();
RecyclerViewAdapte rp = new RecyclerViewAdapte(context,goodsList);
vd.rv.setAdapter(rp);
}
}
@Override
public int getItemCount() {
return 2;
}
class ViewHolderBanner extends RecyclerView.ViewHolder{
private Banner banner;
public ViewHolderBanner(View itemView) {
super(itemView);
banner = itemView.findViewById(R.id.banner_show);
}
}
class ViewHolderDuo extends RecyclerView.ViewHolder{
private RecyclerView rv;
public ViewHolderDuo(View itemView) {
super(itemView);
rv = itemView.findViewById(R.id.recyclerview_item_show);
}
}
@Override
public int getItemViewType(int position) {
if(position%2==0){
return Lun;
}
return Recyc;
}
}