RecyclerView的使用-以后详细记录TODO

/ 默认分类 / 没有评论 / 570浏览

。 RecyclerView的使用

要使用它:我们首先需要导入相应的包 这安卓5.0以后有的新特性

implementation 'com.android.support:recyclerview-v7:27.1.1'
###
这里先准备他的所需要的内容:

//菜单
    public static List<Menu> getHeaderMenuInfo(String [] name,int [] icos){
        List<Menu> list = new ArrayList<>();
        for(int i =0;i<name.length;i++){
            Menu menu = new Menu();
            menu.setImage(icos[i]);
            menu.setName(name[i]);
            list.add(menu);
        }
        return list;
    }
    

准备好一组String []

<string-array name="main_menu">
        <item>飞机票</item>
        <item>住酒店</item>
        <item>去旅游</item>
        <item>周边游</item>
        <item>买门票</item>
        <item>火车票</item>
        <item>汽车票</item>
        <item>领里程</item>
    </string-array>

然后是新建一个类 继承至Adapter

RecyclerView.Adapter<MainMenuAdapter.VH>
这里我们为他添加一个hanger的泛型
新建一个内部类:
VH 继承至ViewHandler 并重写的方法

class VH extends RecyclerView.ViewHolder {
        protected TextView textView;
        protected ImageView imageView;
        public VH(View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.text_view);
            imageView = itemView.findViewById(R.id.image_view);
        }
    }
 

   protected List<Menu> list;
    protected Context context;
   
   public MainMenuAdapter(Context context, List<Menu> list) {
        this.context = context;
        this.list = list;

    }
    @NonNull
    @Override ////生成holder
    public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
             
        return new VH(LayoutInflater.from(context).inflate(R.layout.main_menu_items, null));
    }

    @Override//绑定holder
    public void onBindViewHolder(@NonNull VH holder, int position) {
        Menu menu = list.get(position);
        holder.imageView.setImageResource(menu.image);
        holder.textView.setText(menu.name);
    }

使用:RecyclerView:出现这个错误的情况: No adapter attached; skipping layout 这是由于没有未对RecyclerView设置布局管理器

评论已关闭.