您的位置:首页 > 其它

文章标题

2017-12-10 19:18 127 查看

MainActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Ipersenter ipersenter=new Ipersenter(this);
ipersenter.Shadad();

init();
}

private void init() {
rec = (RecyclerView) findViewById(R.id.rec);
GridLayoutManager gridLayoutManager=new GridLayoutManager(this,2);
rec.setLayoutManager(gridLayoutManager);

}

@Override
public void success(Bea bea) {

Myadapter myadapter=new Myadapter(bea.getGoods_list(),MainActivity.this);
rec.setAdapter(myadapter);
myadapter.setmOnItemClickListener(new Myadapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}
});

}

@Override
public void success1(Beantwo beantwo) {

}


IView

void success(Bea bea);
void success1(Beantwo beantwo);


IHmodel

void Shaddata(HomeBake bake);
interface HomeBake{
void Success(Bea bea);
}
void Shaddata1(HomeBack bake1);

interface HomeBack{
void Success1(Beantwo beantwo);
}


Imodel

@Override
public void Shaddata(final HomeBake bake) {
Retrofit retrofit=new Retrofit.Builder()
.baseUrl(URL.BASE_HOST_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
API serviceAPI = retrofit.create(API.class);
final Call<Bea> bean = serviceAPI.bean();

bean.enqueue(new Callback<Bea>() {
@Override
public void onResponse(Call<Bea> call, Response<Bea> response) {

4000
Bea bea=response.body();

bake.Success(bea);
}

@Override
public void onFailure(Call<Bea> call, Throwable t) {

}
});
}

@Override
public void Shaddata1(final HomeBack bake1) {
Retrofit retrofit=new Retrofit.Builder()
.baseUrl(URL.BASE_HOST_URL1)
.addConverterFactory(GsonConverterFactory.create())
.build();
API serviceAPI = retrofit.create(API.class);
final Call<Beantwo> bean = serviceAPI.beann();

bean.enqueue(new Callback<Beantwo>() {
@Override
public void onResponse(Call<Beantwo> call, Response<Beantwo> response) {
Beantwo beantwo=response.body();

bake1.Success1(beantwo);
}

@Override
public void onFailure(Call<Beantwo> call, Throwable t) {

}
});
}


Ipersenter

private Imodel imodel;
private IView iView;

public Ipersenter(IView iView) {
this.iView = iView;
imodel =new Imodel();
}
public void Shadad(){
imodel.Shaddata(new IHmodel.HomeBake() {
@Override
public void Success(Bea bea) {
iView.success(bea);
}
});
}
public void Shadadd1(){
imodel.Shaddata1(new IHmodel.HomeBack() {
@Override
public void Success1(Beantwo beantwo) {
iView.success1(beantwo);
}
});
}
}


Myadapter

public class Myadapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>implements View.OnClickListener{
private List<Bea.GoodsListBean> listBeen=new ArrayList<>();
private OnItemClickListener mOnItemClickListener = null;

private Context context;

public Myadapter(List<Bea.GoodsListBean> listBeen, Context context) {
this.listBeen = listBeen;
this.context = context;
}

/**
* Called when a view has been clicked.
*
* @param v The view that was clicked.
*/
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
//注意这里使用getTag方法获取position
mOnItemClickListener.onItemClick(v, (int) v.getTag());
}

}
public void setmOnItemClickListener(OnItemClickListener mOnItemClickListener) {
this.mOnItemClickListener = mOnItemClickListener;
}
public static interface OnItemClickListener {
void onItemClick(View view, int position);
}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View inflat= LayoutInflater.from(context).inflate(R.layout.item,parent,false);
inflat.setOnClickListener(this);
return new sViewHole(inflat);
}

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
sViewHole sViewHole= (Myadapter.sViewHole) holder;
sViewHole.img.setImageURI(listBeen.get(position).getThumb_url());
sViewHole.tv1.setText(listBeen.get(position).getShort_name());

holder.itemView.setTag(position);

}

@Override
public int getItemCount() {
return listBeen.size();
}
private class sViewHole extends RecyclerView.ViewHolder{
private SimpleDraweeView img;
private TextView tv1;
private TextView tv2;

public sViewHole(View itemView) {
super(itemView);
img=itemView.findViewById(R.id.img);
tv1=itemView.findViewById(R.id.tv1);
tv2=itemView.findViewById(R.id.tv2);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: