今天学习了适配器,俺老师说能写出来就行这个东西比较难,大概流程就是先给布局设置一个子布局,在子控件(RecyclerView)中设置想要设置的内容,为这个子控件设置一个,然后在java类中获取子控件的id,之后new一个布局的对象 (GridLayoutManager),在这个对象里面有两个属性,一个是上下文,这个写本类的名称就可以了,第二个属性是个数,这个对象里面有一个canScrollVertically方法,返回值填写true,返回值类型填写为布尔类型,之后使用 子布局名称.setLayoutManager(布局样式名称)的方式将布局样式应用至布局里面,然后需要新建一个适配器的对象,这个对象需要在java类中引用这个对象,适配器的java类中需要继承RecyclerView.Adapter,之后需要新建一个方法onCreateViewHolder,这个方法有三个属性分别为@NonNull ViewGroup parent, int viewType 讲不明白了 具体适配器配置见如下代码
package com.example.aviation.Adapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.example.aviation.R; public class DyAdapter extends RecyclerView.Adapter { @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View dy= LayoutInflater.from(parent.getContext()).inflate(R.layout.dy,parent,false); dyHolder dyHolder= new dyHolder(dy); return dyHolder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { } @Override public int getItemCount() { return 10; } class dyHolder extends RecyclerView.ViewHolder{ public dyHolder(@NonNull View itemView) { super(itemView); } } }
在设置好了适配器之后,直接使用对象存储这个适配器,之后使用setAdapter将适配器绑定给到布局就可以了