导入依赖
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
第二步控件xml
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/re"
></android.support.v7.widget.RecyclerView>
第三步 调用控件
btn = findViewById(R.id.btn);
recyclerView = findViewById(R.id.re);
OkHttpClient okHttpClient = new OkHttpClient();
Request build = new Request.Builder().url("http://120.27.23.105/product/getProducts?pscid=39&page=1").build();
Call call = okHttpClient.newCall(build);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
final String string = response.body().string();
if (string != null) {
runOnUiThread(new Runnable() {
@Override
public void run() {
flag = true;
Bean bean = new Gson().fromJson(string, Bean.class);
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
MyReAdapter adapter = new MyReAdapter(bean, MainActivity.this);
recyclerView.setAdapter(adapter);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (flag) {
recyclerView.setLayoutManager(new GridLayoutManager(MainActivity.this, 2));
} else {
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
}
flag = !flag;
}
});
}
});
}
}
}
});
第四部 新建一个类 继承 RecyclerView.ViewHolder
public class MyHolder extends RecyclerView.ViewHolder {
public final ImageView tu;
public final TextView shang;
public final TextView xia;
public MyHolder(View itemView) {
super(itemView);
tu = itemView.findViewById(R.id.tu);
shang = itemView.findViewById(R.id.shang);
xia = itemView.findViewById(R.id.xia);
}
}
第五步 新建一个适配器 继承 extends RecyclerView.Adapter
注意:有泛型extends RecyclerView.Adapter<MyHolder>
Bean bean;
Context context;
public MyReAdapter(Bean bean, Context context) {
this.bean = bean;
this.context = context;
}
@Override
public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View inflate = View.inflate(context, R.layout.f1, null);
MyHolder holder=new MyHolder(inflate);
return holder;
}
@Override
public void onBindViewHolder(MyHolder holder, int position) {
String[] split = bean.getData().get(position).getImages().split("\\|");
Glide.with(context).load(split[0]).into(holder.tu);
holder.shang.setText(bean.getData().get(position).getTitle());
holder.xia.setText(bean.getData().get(position).getPrice()+"");
}
@Override
public int getItemCount() {
return bean.getData().size();
}
想加入横滑 就要在 之方法里面这样写
miaosha_recycler.setLayoutManager(new LinearLayoutManager(MainActivity.this, OrientationHelper.HORIZONTAL, false));
瀑布流
shouye_R_Jiugongge.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.HORIZONTAL));