版权声明:本文为延成原创文章,转载请标明出处
private List<ItemBean> mAlertViewItems;
private AlertViewAdapter mAlertViewAdapter;
private RecyclerView bottom_rv_content;
private void initView() {
bottom_rv_content = view.findViewById(R.id.rv_content);
mAlertViewItems = new ArrayList();
mAlertViewAdapter = new AlertViewAdapter(context, mAlertViewItems);
bottom_rv_content.setAdapter(mAlertViewAdapter);
LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false);
DividerItemDecoration dec = new DividerItemDecoration(context, DividerItemDecoration.VERTICAL);
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.alert_line);
dec.setDrawable(drawable);
bottom_rv_content.addItemDecoration(dec);
bottom_rv_content.setLayoutManager(layoutManager);
}
public class AlertViewAdapter extends RecyclerView.Adapter<AlertViewAdapter.ViewHolder> {
private List<ItemBean> mAlertViewItems;
private Context mContext;
private AlertViewAdapter.OnItemClickListener mOnItemClickListener;
public AlertViewAdapter(Context context, List<ItemBean> alertViewItems) {
this.mContext = context;
this.mAlertViewItems = alertViewItems;
}
public interface OnItemClickListener {
void onItemClick(View view, int position);
}
public void setOnItemClickLitener(AlertViewAdapter.OnItemClickListener onItemClickListener) {
this.mOnItemClickListener = onItemClickListener;
}
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.item_alert_view_bottom, parent,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
if (mOnItemClickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int pos = holder.getLayoutPosition();
mOnItemClickListener.onItemClick(holder.itemView, pos);
}
});
}
ItemBean bean = mAlertViewItems.get(position);
holder.tv_text.setBackground(ContextCompat.getDrawable(mContext,R.drawable.alertdialog_bottom_single2_selector));
holder.tv_text.setText(bean.name);
}
@Override
public int getItemCount() {
return mAlertViewItems.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
private final TextView tv_text;
ViewHolder(View itemView) {
super(itemView);
tv_text = itemView.findViewById(R.id.tv_text);
}
}
}