diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 974acc7bf..41624af7e 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -13,15 +13,8 @@ - + - + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 52413ebe4..fd909ef97 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,31 +1,33 @@ - + - + - + - + - + - - - - - - - - - + + + + + + + + + + + - \ No newline at end of file + diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/HomeActivity.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/HomeActivity.java index 80091e609..67a87775c 100644 --- a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/HomeActivity.java +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/HomeActivity.java @@ -18,9 +18,9 @@ * https://github.com/CymChad/BaseRecyclerViewAdapterHelper */ public class HomeActivity extends Activity { - private static final Class[] ACTIVITY = {AnimationUseActivity.class, MultipleItemUseActivity.class, HeaderAndFooterUseActivity.class, PullToRefreshUseActivity.class, SectionUseActivity.class, EmptyViewUseActivity.class, ItemDragAndSwipeUseActivity.class,RecyclerClickItemActivity.class, ExpandableUseActivity.class, DataBindingUseActivity.class}; - private static final String[] TITLE = {"Animation Use", "MultipleItem Use", "HeaderAndFooter Use", "PullToRefresh Use", "Section Use", "EmptyView Use", "ItemDragAndSwipe Use","RecyclerClickItemActivity", "ExpandableItem Activity", "DataBinding Use"}; - private static final String[] COLOR_STR = {"#0dddb8","#0bd4c3","#03cdcd","#00b1c5","#04b2d1","#04b2d1","#04b2d1","#04b2d1", "#04b2d1", "#04b2d1"}; + private static final Class[] ACTIVITY = {AnimationUseActivity.class, MultipleItemUseActivity.class, HeaderAndFooterUseActivity.class, PullToRefreshUseActivity.class, SectionUseActivity.class, EmptyViewUseActivity.class, ItemDragAndSwipeUseActivity.class,RecyclerClickItemActivity.class, ItemClickActivity.class,ExpandableUseActivity.class, DataBindingUseActivity.class}; + private static final String[] TITLE = {"Animation Use", "MultipleItem Use", "HeaderAndFooter Use", "PullToRefresh Use", "Section Use", "EmptyView Use", "ItemDragAndSwipe Use","RecyclerClickItemActivity", "ItemClickActivity","ExpandableItem Activity", "DataBinding Use"}; + private static final String[] COLOR_STR = {"#0dddb8","#0bd4c3","#03cdcd","#00b1c5","#04b2d1","#04b2d1","#04b2d1","#04b2d1", "#04b2d1","#04b2d1", "#04b2d1"}; private ArrayList mDataList; private RecyclerView mRecyclerView; diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/ItemClickActivity.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/ItemClickActivity.java new file mode 100644 index 000000000..df2dc2f36 --- /dev/null +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/ItemClickActivity.java @@ -0,0 +1,59 @@ +package com.chad.baserecyclerviewadapterhelper; + +import android.app.Activity; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.MotionEvent; +import android.view.View; + +import com.chad.baserecyclerviewadapterhelper.adapter.ItemClickAdapter; +import com.chad.baserecyclerviewadapterhelper.entity.ClickEntity; +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.listener.OnItemClickListener; + +import java.util.ArrayList; +import java.util.List; + +public class ItemClickActivity extends Activity { + + private RecyclerView mRecyclerView; + private ItemClickAdapter itemClickAdapter; + private static final int PAGE_SIZE = 10; + private static String TAG = "RecyclerClickItemActivity"; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_item_click); + mRecyclerView = (RecyclerView) findViewById(R.id.list); + mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); + initAdapter(); + mRecyclerView.addOnItemTouchListener(new OnItemClickListener() { + @Override + public void SimpleOnItemClick(final BaseQuickAdapter adapter, final View view, final int position) { + Log.d(TAG, "SimpleOnItemClick: "); + } + }); + + + } + + private void initAdapter() { + List 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)); + itemClickAdapter = new ItemClickAdapter(data); + itemClickAdapter.openLoadAnimation(); + mRecyclerView.setAdapter(itemClickAdapter); + } + + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + return super.dispatchTouchEvent(ev); + } + +} diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/ItemClickAdapter.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/ItemClickAdapter.java new file mode 100755 index 000000000..f7f4a4120 --- /dev/null +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/ItemClickAdapter.java @@ -0,0 +1,44 @@ +package com.chad.baserecyclerviewadapterhelper.adapter; + +import com.chad.baserecyclerviewadapterhelper.R; +import com.chad.baserecyclerviewadapterhelper.entity.ClickEntity; +import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; + +import java.util.List; + +/** + * + */ +public class ItemClickAdapter extends BaseMultiItemQuickAdapter { + + public ItemClickAdapter(List data) { + super(data); + addItemType(ClickEntity.CLICK_ITEM_VIEW, R.layout.item_click_view); + addItemType(ClickEntity.CLICK_ITEM_CHILD_VIEW, R.layout.item_click_childview); + addItemType(ClickEntity.LONG_CLICK_ITEM_VIEW, R.layout.item_long_click_view); + addItemType(ClickEntity.LONG_CLICK_ITEM_CHILD_VIEW, R.layout.item_long_click_childview); + } + + + @Override + protected void convert(final BaseViewHolder helper, final ClickEntity item) { + switch (helper.getItemViewType()) { + case ClickEntity.CLICK_ITEM_VIEW: + helper.addOnClickListener(R.id.btn); + break; + case ClickEntity.CLICK_ITEM_CHILD_VIEW: + helper.addOnClickListener(R.id.iv_num_reduce).addOnClickListener(R.id.iv_num_add) + .addOnLongClickListener(R.id.iv_num_reduce).addOnLongClickListener(R.id.iv_num_add); + // set img data + break; + case ClickEntity.LONG_CLICK_ITEM_VIEW: + helper.addOnLongClickListener(R.id.btn); + break; + case ClickEntity.LONG_CLICK_ITEM_CHILD_VIEW: + helper.addOnLongClickListener(R.id.iv_num_reduce).addOnLongClickListener(R.id.iv_num_add) + .addOnClickListener(R.id.iv_num_reduce).addOnClickListener(R.id.iv_num_add); + break; + } + } +} diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/data/DataServer.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/data/DataServer.java index 06580eb58..7bebb1982 100644 --- a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/data/DataServer.java +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/data/DataServer.java @@ -96,5 +96,18 @@ public static List getMultipleItemData() { return list; } +// public static List getMultipleChildView() { +// List list = new ArrayList<>(); +// for (int i = 0; i <= 4; i++) { +// list.add(new ClickEntity(ClickEntity.CLICK_ITEM_VIEW, MultipleItem.TEXT_SPAN_SIZE, CYM_CHAD)); +// list.add(new MultipleItem(MultipleItem.IMG, MultipleItem.BIG_IMG_SPAN_SIZE)); +// list.add(new MultipleItem(MultipleItem.IMG, MultipleItem.IMG_SPAN_SIZE)); +// list.add(new MultipleItem(MultipleItem.IMG, MultipleItem.IMG_SPAN_SIZE)); +// list.add(new MultipleItem(MultipleItem.IMG, MultipleItem.IMG_SPAN_SIZE)); +// } +// +// return list; +// } + } diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/entity/ClickEntity.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/entity/ClickEntity.java new file mode 100644 index 000000000..eb73d511d --- /dev/null +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/entity/ClickEntity.java @@ -0,0 +1,42 @@ +/* +******************************* Copyright (c)*********************************\ +** +** (c) Copyright 2015, Allen, china, shanghai +** All Rights Reserved +** +** +** +**-----------------------------------版本信息------------------------------------ +** 版 本: V0.1 +** +**------------------------------------------------------------------------------ +********************************End of Head************************************\ +*/ +package com.chad.baserecyclerviewadapterhelper.entity; + +import com.chad.library.adapter.base.entity.MultiItemEntity; + +/** + * 文 件 名: ClickEntity + * 创 建 人: Allen + * 创建日期: 16/11/1 22:16 + * 邮 箱: AllenCoder@126.com + * 修改时间: + * 修改备注: + */ +public class ClickEntity implements MultiItemEntity { + public static final int CLICK_ITEM_VIEW = 1; + public static final int CLICK_ITEM_CHILD_VIEW = 2; + public static final int LONG_CLICK_ITEM_VIEW = 3; + public static final int LONG_CLICK_ITEM_CHILD_VIEW = 4; + public int Type; + + public ClickEntity(final int type) { + Type = type; + } + + @Override + public int getItemType() { + return Type; + } +} diff --git a/app/src/main/res/drawable/selector_btn_add.xml b/app/src/main/res/drawable/selector_btn_add.xml new file mode 100755 index 000000000..b119df00b --- /dev/null +++ b/app/src/main/res/drawable/selector_btn_add.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/selector_btn_reduce.xml b/app/src/main/res/drawable/selector_btn_reduce.xml new file mode 100755 index 000000000..7ff61db4f --- /dev/null +++ b/app/src/main/res/drawable/selector_btn_reduce.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/src/main/res/drawable/selector_item.xml b/app/src/main/res/drawable/selector_item.xml new file mode 100755 index 000000000..939216fdd --- /dev/null +++ b/app/src/main/res/drawable/selector_item.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/selector_item_child.xml b/app/src/main/res/drawable/selector_item_child.xml new file mode 100755 index 000000000..937ad5bae --- /dev/null +++ b/app/src/main/res/drawable/selector_item_child.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_item_click.xml b/app/src/main/res/layout/activity_item_click.xml new file mode 100644 index 000000000..eb2e2990a --- /dev/null +++ b/app/src/main/res/layout/activity_item_click.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/layout/item_click_childview.xml b/app/src/main/res/layout/item_click_childview.xml new file mode 100755 index 000000000..d432d7aa4 --- /dev/null +++ b/app/src/main/res/layout/item_click_childview.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_click_view.xml b/app/src/main/res/layout/item_click_view.xml new file mode 100644 index 000000000..76fd3a87d --- /dev/null +++ b/app/src/main/res/layout/item_click_view.xml @@ -0,0 +1,23 @@ + + + +