android RecyclerView adapter

public class MyAdapter extends RecyclerView.Adapter {

    private Context context;
    private List<String> mList;
    public MyAdapter(Context context, List<String> mList) {
        this.context = context;
        this.mList = mList;
}
    

    @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {    
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
        return new MyViewHolder(view);
    }

    @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        // 如果是 MyViewHolder
if (holder instanceof MyViewHolder) {            
            MyViewHolder myViewHolder = (MyViewHolder) holder;
            myViewHolder.tv_name.setText(mList.get(position));
            myViewHolder.tv_name.setOnClickListener(new View.OnClickListener() {
                @Override
public void onClick(View view) {
                    if (onItemOnClickLister != null) {
                        onItemOnClickLister.setOnItemLister(position);
}                                    
                }
            });
}
        

    }

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

    class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView tv_name;
        public MyViewHolder(View itemView) {
            super(itemView);
tv_name = itemView.findViewById(R.id.tv_name);
}            
        
    }

    private OnItemClickListener onItemOnClickLister;
    public void setOnItemOnClickLister(OnItemClickListener onItemOnClickLister) {
        this.onItemOnClickLister = onItemOnClickLister;
}
    

    interface OnItemClickListener {
        void setOnItemLister(int position);
    }

}
 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326182128&siteId=291194637