RecycleView基本使用

1.布局文件.xml

  

2.子布局文件.xml




    
    


    


3.适配器 Adapter

package rcd.rfidmobile.adapter;

import android.graphics.Region;
import android.support.annotation.Nullable;
import android.widget.TextView;

import com.chad.library.adapter.base.BaseItemDraggableAdapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;

import java.util.List;

import rcd.rfidmobile.R;
import rcd.rfidmobile.entity.RegionDTO;

public class RegionAdapter extends BaseItemDraggableAdapter<RegionDTO, BaseViewHolder> {

    public RegionAdapter(@Nullable List<RegionDTO> data){
        super(R.layout.region_item,data);
    }

    @Override
    protected void convert(BaseViewHolder helper, RegionDTO item) {
        TextView  orderNumTV = helper.getView(R.id.orderNum);
        orderNumTV.setText((helper.getAdapterPosition()+1)+"");
        TextView  regionNameTV = helper.getView(R.id.regionName);
        regionNameTV.setText(item.getRegionname());
    }
}

4.Activity

   recyclerView = findViewById(R.id.regionInfoRecycler);
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        recyclerView.setLayoutManager(linearLayoutManager);
        regionAdapter = new RegionAdapter(regionDTOList);

//滑动删除
 ItemDragAndSwipeCallback itemDragAndSwipeCallback = new ItemDragAndSwipeCallback(regionAdapter);
        ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itemDragAndSwipeCallback);
        itemTouchHelper.attachToRecyclerView(recyclerView);

        // 开启拖拽
        regionAdapter.enableDragItem(itemTouchHelper, R.id.textView, true);
        regionAdapter.setOnItemDragListener(new OnItemDragListener() {
            @Override
            public void onItemDragStart(RecyclerView.ViewHolder viewHolder, int pos) {
                //  Toast.makeText(RegionCollectionActivity.this,"onItemDragStart",Toast.LENGTH_SHORT).show();
                Log.i(TAG, "onItemDragStart");
            }

            @Override
            public void onItemDragMoving(RecyclerView.ViewHolder source, int from, RecyclerView.ViewHolder target, int to) {
                // Toast.makeText(RegionCollectionActivity.this,"onItemDragMoving",Toast.LENGTH_SHORT).show();
                Log.i(TAG, "onItemDragMoving");
            }

            @Override
            public void onItemDragEnd(RecyclerView.ViewHolder viewHolder, int pos) {
                // Toast.makeText(RegionCollectionActivity.this,"onItemDragEnd",Toast.LENGTH_SHORT).show();
                Log.i(TAG, "onItemDragEnd");
            }
        });

        //开启滑动删除
        regionAdapter.enableSwipeItem();
        regionAdapter.setOnItemSwipeListener(new OnItemSwipeListener() {
            @Override
            public void onItemSwipeStart(RecyclerView.ViewHolder viewHolder, int pos) {
                //Toast.makeText(RegionCollectionActivity.this,"onItemSwipeStart",Toast.LENGTH_SHORT).show();
                Log.i(TAG, "onItemSwipeStart");
            }

            @Override
            public void clearView(RecyclerView.ViewHolder viewHolder, int pos) {
                // Toast.makeText(RegionCollectionActivity.this,"clearView",Toast.LENGTH_SHORT).show();
                Log.i(TAG, "clearView");
            }

            @Override
            public void onItemSwiped(RecyclerView.ViewHolder viewHolder, final int pos) {
                //Toast.makeText(RegionCollectionActivity.this,"onItemSwiped",Toast.LENGTH_SHORT).show();
//                Toast.makeText(RegionInfoActivity.this, "" + regionDTOList.get(pos).getRegionname() + "数据被删除了", Toast.LENGTH_SHORT).show();
                Log.i(TAG, "onItemSwiped");
                new AlertDialog.Builder(context)
                        .setTitle("确认删除" + regionDTOList.get(pos).getRegionname() + "吗?")
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                deleteRegion(pos);
                            }
                        })
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                dialogInterface.dismiss();
                                initData();
                                regionAdapter.setNewData(regionDTOList);
                            }
                        }).show();

            }

            @Override
            public void onItemSwipeMoving(Canvas canvas, RecyclerView.ViewHolder viewHolder, float dX, float dY, boolean isCurrentlyActive) {
                //Toast.makeText(RegionCollectionActivity.this,"onItemSwipeMoving",Toast.LENGTH_SHORT).show();
                Log.i(TAG, "onItemSwipeMoving");
            }
        });
        recyclerView.setAdapter(regionAdapter);

你可能感兴趣的:(Android)