OKGO 和 RecycleView 瀑布流

1.导依赖

//OKGO
implementation 'com.lzy.net:okgo:3.0.4'
//RecycleView
implementation 'com.android.support:design:28.0.0'

2.布局

<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recycler_view"></android.support.v7.widget.RecyclerView>

3.在Activity中写

public class AnimationActivity extends AppCompatActivity {

Context context;
@BindView(R.id.recycler_view)
RecyclerView recyclerView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_animation);
    ButterKnife.bind(this);
    context = AnimationActivity.this;
    //网络请求
    OkGo.<String>get(Contract.BETAY_URL).execute(new StringCallback() {
        @Override
        public void onSuccess(Response<String> response) {
            String responseData = response.body().toString();
            //数据解析
            Gson gson = new Gson();
            BeautifulBean beautifulBean = gson.fromJson(responseData, BeautifulBean.class);
            //1.数据源
            ArrayList<BeautifulBean.ResultsBean> beanList = (ArrayList<BeautifulBean.ResultsBean>) beautifulBean.getResults();
            //2.布局管理器
            //线性  网格  瀑布流
            LinearLayoutManager manager = new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false);
            recyclerView.setLayoutManager(manager);
            //3.适配器
            BeautyAdapter beautyAdapter = new BeautyAdapter();
            beautyAdapter.setData(beanList, context);
            //设置适配器
            recyclerView.setAdapter(beautyAdapter);
            beautyAdapter.notifyDataSetChanged();
        }
    });


}}

4.写接口常量 和bean类
5.创建RecycleView 的适配器

public class BeautyAdapter extends RecyclerView.Adapter<BeautyAdapter.SubViewHolder> {

ArrayList<BeautifulBean.ResultsBean> beanList;
Context context;


public void setData(ArrayList<BeautifulBean.ResultsBean> beanList, Context context) {
    this.beanList = beanList;
    this.context = context;
}

@NonNull
@Override
public SubViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    //填充子布局
    View rootView = LayoutInflater.from(context).inflate(R.layout.beauty_layout, null);
    //设置ViewHolder
    SubViewHolder subViewHolder = new SubViewHolder(rootView);
    return subViewHolder;
}

@Override
public void onBindViewHolder(@NonNull SubViewHolder subViewHolder, int position) {
    subViewHolder.tv_title.setText("创建时间是:"+beanList.get(position).getCreatedAt());
    //加载图片
    Glide.with(context).load(beanList.get(position).getUrl()).into(subViewHolder.image_icon);
}

@Override
public int getItemCount() {
    //条目数
    return beanList.size();
}

class SubViewHolder extends RecyclerView.ViewHolder {

    private final TextView tv_title;
    private final ImageView image_icon;

    public SubViewHolder(@NonNull View itemView) {
        super(itemView);

        tv_title = itemView.findViewById(R.id.tv_title);
        image_icon = itemView.findViewById(R.id.image_icon);
    }
}}

猜你喜欢

转载自blog.csdn.net/weixin_43860442/article/details/85425742