123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- package com.Intelligent.FamilyU.adapter;
- import android.content.Context;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- import com.Intelligent.FamilyU.R;
- import java.util.HashMap;
- import java.util.List;
- public class DeviceModelHomeRecyclerViewAdapter extends RecyclerView.Adapter<DeviceModelHomeRecyclerViewAdapter.ViewHolder> {
- private List<HashMap<String, String>> mlist;
- private Context context;
- private OnItemClickListener mOnItemClickListener;
- public static interface OnItemClickListener {
- void onItemClick(int position);
- void onItemLongClick(int position);
- }
- public DeviceModelHomeRecyclerViewAdapter(Context context, List<HashMap<String, String>> list, OnItemClickListener onItemClickListener) {
- super();
- mlist = list;
- this.context = context;
- mOnItemClickListener = onItemClickListener;
- }
- public static class ViewHolder extends RecyclerView.ViewHolder {
- // each data item is just a string in this case
- public TextView name;
- public ImageView imv;
- public ImageView nameIv;
- public LinearLayout ll;
- public ViewHolder(View v) {
- super(v);
- }
- }
- // Create new views (invoked by the layout manager)
- @Override
- public DeviceModelHomeRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
- int viewType) {
- // create a new view
- View convertView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.listview_add_device_home_item, parent, false);
- ViewHolder viewHolder = new ViewHolder(convertView);
- viewHolder.name = (TextView) convertView.findViewById(R.id.name_tv);
- viewHolder.imv = (ImageView) convertView.findViewById(R.id.iv);
- viewHolder.nameIv = (ImageView) convertView.findViewById(R.id.name_iv);
- viewHolder.ll = (LinearLayout) convertView.findViewById(R.id.ll);
- return viewHolder;
- }
- // Replace the contents of a view (invoked by the layout manager)
- @Override
- public void onBindViewHolder(ViewHolder holder, final int position) {
- // - get element from your dataset at this position
- // - replace the contents of the view with that element
- HashMap<String, String> map = mlist.get(position);
- String name = map.get("name");
- holder.name.setText(name);
- if ("add".equals(name)) {
- holder.name.setVisibility(View.GONE);
- holder.nameIv.setVisibility(View.GONE);
- holder.imv.setImageResource(R.mipmap.dlna_icon_member_add);
- } else {
- holder.name.setVisibility(View.VISIBLE);
- holder.nameIv.setVisibility(View.VISIBLE);
- holder.imv.setImageResource(R.mipmap.icon_big_study);
- }
- holder.ll.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mOnItemClickListener.onItemClick(position);
- }
- });
- holder.ll.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View v) {
- mOnItemClickListener.onItemLongClick(position);
- return true;
- }
- });
- }
- // Return the size of your dataset (invoked by the layout manager)
- @Override
- public int getItemCount() {
- return mlist.size();
- }
- public void refreshData(List<HashMap<String, String>> list) {
- if (null != mlist) {
- mlist.clear();
- }
- mlist.addAll(list);
- notifyDataSetChanged();
- }
- public List<HashMap<String, String>> getAllList() {
- return mlist;
- }
- // 添加数据
- public void addData(HashMap<String, String> map, int position) {
- mlist.add(map);
- //添加动画
- notifyItemInserted(position);
- }
- // 删除数据
- public void removeData(int position) {
- mlist.remove(position);
- //删除动画
- notifyItemRemoved(position);
- notifyDataSetChanged();
- }
- public void addBtn() {
- if (null == mlist || mlist.size() == 0) {
- return;
- }
- // if ("add".equals(mlist.get(mlist.size() - 1).get("name"))) {
- // mlist.remove(mlist.size() - 1);
- // }
- HashMap<String, String> map = new HashMap<String, String>();
- map.put("name", "add");
- mlist.add(map);
- notifyItemInserted(mlist.size()-1);
- // List<HashMap<String, String>> list = new ArrayList<>();
- // list.addAll(mlist);
- // refreshData(list);
- }
- }
|