Android 用Databinding寫recyclerview的adapter

Android 用Databinding寫recyclerview的adapter

1還是寫一個模板,以後要用的時候直接cv大法,粘貼自己寫的模板畢竟更方便。

2隨便來一個item的佈局




    

        
    

    

        

    

3與之對應的adapter

public class FirstNaviAdapter extends RecyclerView.Adapter {

    private List listBeen;
    private Context context;

    public FirstNaviAdapter(List listBeen, Context context) {//構造函數要數據跟上下文
        this.listBeen = listBeen;
        this.context = context;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        ItemFirstNaviBinding binding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.item_first_navi,
                parent, false);
        return new ViewHolder(binding.getRoot());
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        ItemFirstNaviBinding binding = DataBindingUtil.getBinding(holder.itemView);
        binding.setListBean(listBeen.get(position));
        binding.executePendingBindings();
    }

    @Override
    public int getItemCount() {
        return listBeen.size();
    }

    public static class ViewHolder extends RecyclerView.ViewHolder {

        public ViewHolder(View itemView) {
            super(itemView);
        }
    }
}

代碼很簡單,沒有什麼要標記的

我之前還看過一個更優雅的寫法,忘記瞭,等我有時間在學習一下在修改一下。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *