ItemClickActivity.java 3.4 KB
Newer Older
limuyang2's avatar
limuyang2 已提交
1 2 3 4 5 6
package com.chad.baserecyclerviewadapterhelper.activity;

import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;

limuyang2's avatar
limuyang2 已提交
7
import androidx.annotation.NonNull;
limuyang2's avatar
limuyang2 已提交
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.chad.baserecyclerviewadapterhelper.R;
import com.chad.baserecyclerviewadapterhelper.adapter.ItemClickAdapter;
import com.chad.baserecyclerviewadapterhelper.base.BaseActivity;
import com.chad.baserecyclerviewadapterhelper.entity.ClickEntity;
import com.chad.baserecyclerviewadapterhelper.utils.Tips;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemChildClickListener;
import com.chad.library.adapter.base.listener.OnItemChildLongClickListener;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.chad.library.adapter.base.listener.OnItemLongClickListener;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Allen
 */
public class ItemClickActivity extends BaseActivity {

    private RecyclerView mRecyclerView;
    private ItemClickAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_universal_recycler);

        setBackBtn();
        setTitle("ItemClickActivity Activity");

        mRecyclerView = findViewById(R.id.rv);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
        initAdapter();
        adapter.setOnItemClickListener(new OnItemClickListener() {
            @Override
limuyang2's avatar
limuyang2 已提交
46
            public void onItemClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) {
limuyang2's avatar
limuyang2 已提交
47 48 49 50 51
                Tips.show("onItemClick " + position);
            }
        });
        adapter.setOnItemLongClickListener(new OnItemLongClickListener() {
            @Override
limuyang2's avatar
limuyang2 已提交
52
            public boolean onItemLongClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) {
limuyang2's avatar
limuyang2 已提交
53 54 55 56 57 58
                Tips.show("onItemLongClick " + position);
                return true;
            }
        });
        adapter.setOnItemChildClickListener(new OnItemChildClickListener() {
            @Override
limuyang2's avatar
limuyang2 已提交
59
            public void onItemChildClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) {
limuyang2's avatar
limuyang2 已提交
60 61 62 63 64
                Tips.show("onItemChildClick " + position);
            }
        });
        adapter.setOnItemChildLongClickListener(new OnItemChildLongClickListener() {
            @Override
limuyang2's avatar
limuyang2 已提交
65
            public boolean onItemChildLongClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) {
limuyang2's avatar
limuyang2 已提交
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
                Tips.show("onItemChildLongClick " + position);
                return true;
            }
        });

    }

    private void initAdapter() {
        List<ClickEntity> data = new ArrayList<>();
        data.add(new ClickEntity(ClickEntity.CLICK_ITEM_VIEW));
        data.add(new ClickEntity(ClickEntity.CLICK_ITEM_CHILD_VIEW));
        data.add(new ClickEntity(ClickEntity.LONG_CLICK_ITEM_VIEW));
        data.add(new ClickEntity(ClickEntity.LONG_CLICK_ITEM_CHILD_VIEW));
        data.add(new ClickEntity(ClickEntity.NEST_CLICK_ITEM_CHILD_VIEW));
        adapter = new ItemClickAdapter(data);
        adapter.setAnimationEnable(true);
        mRecyclerView.setAdapter(adapter);
    }


    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        return super.dispatchTouchEvent(ev);
    }

}