Skip to content

Commit b209c89

Browse files
authored
Merge pull request CymChad#2139 from AllenCoder/master
refactor multipleItemRvAdapter
2 parents e1c2217 + 77f0dab commit b209c89

File tree

3 files changed

+47
-30
lines changed

3 files changed

+47
-30
lines changed

app/src/main/java/com/chad/baserecyclerviewadapterhelper/MultipleItemRvAdapterUseActivity.java

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import android.os.Bundle;
44
import android.support.v7.widget.GridLayoutManager;
55
import android.support.v7.widget.RecyclerView;
6+
import android.util.Log;
7+
import android.view.View;
8+
import android.widget.Toast;
69

710
import com.chad.baserecyclerviewadapterhelper.adapter.DemoMultipleItemRvAdapter;
811
import com.chad.baserecyclerviewadapterhelper.base.BaseActivity;
@@ -14,7 +17,6 @@
1417
import java.util.List;
1518

1619
/**
17-
* https://github.com/chaychan
1820
*
1921
* @author ChayChan
2022
* @description: MultipleItemRvAdapter's usage
@@ -44,16 +46,52 @@ protected void onCreate(Bundle savedInstanceState) {
4446
@Override
4547
public int getSpanSize(GridLayoutManager gridLayoutManager, int position) {
4648
int type = mData.get(position).type;
47-
if (type == NormalMultipleEntity.SINGLE_TEXT){
49+
if (type == NormalMultipleEntity.SINGLE_TEXT) {
4850
return MultipleItem.TEXT_SPAN_SIZE;
49-
}else if (type == NormalMultipleEntity.SINGLE_IMG){
51+
} else if (type == NormalMultipleEntity.SINGLE_IMG) {
5052
return MultipleItem.IMG_SPAN_SIZE;
51-
}else{
53+
} else {
5254
return MultipleItem.IMG_TEXT_SPAN_SIZE;
5355
}
5456
}
5557
});
5658

59+
/**
60+
* The click event is distributed to the BaseItemProvider and can be overridden.
61+
* if you need register itemchild click longClick
62+
* you need to use https://github.com/CymChad/BaseRecyclerViewAdapterHelper/wiki/Add-OnItemClickLister#use-it-item-child-long-click
63+
*/
64+
/* @Override
65+
protected void convert(BaseViewHolder helper, Status item) {
66+
helper.setText(R.id.tweetName, item.getUserName())
67+
.setText(R.id.tweetText, item.getText())
68+
.setText(R.id.tweetDate, item.getCreatedAt())
69+
.setVisible(R.id.tweetRT, item.isRetweet())
70+
.addOnLongClickListener(R.id.tweetText)
71+
.linkify(R.id.tweetText);
72+
73+
}
74+
adapter.setOnItemChildLongClickListener(new BaseQuickAdapter.OnItemChildLongClickListener() {
75+
@Override
76+
public void onItemChildLongClick(BaseQuickAdapter adapter, View view, int position) {
77+
Log.d(TAG, "onItemChildLongClick: ");
78+
Toast.makeText(ItemClickActivity.this, "onItemChildLongClick" + position, Toast.LENGTH_SHORT).show();
79+
}
80+
});*/
81+
// multipleItemAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
82+
// @Override
83+
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
84+
// Log.d(TAG, "onItemClick: ");
85+
// Toast.makeText(MultipleItemRvAdapterUseActivity.this, "onItemClick" + position, Toast.LENGTH_SHORT).show();
86+
// }
87+
// });
88+
// multipleItemAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
89+
// @Override
90+
// public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
91+
// Log.d(TAG, "onItemClick: ");
92+
// Toast.makeText(MultipleItemRvAdapterUseActivity.this, "onItemChildClick" + view.getId(), Toast.LENGTH_SHORT).show();
93+
// }
94+
// });
5795
mRecyclerView.setAdapter(multipleItemAdapter);
5896
}
5997
}

app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/DemoMultipleItemRvAdapter.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
import java.util.List;
1313

1414
/**
15-
* https://github.com/chaychan
1615
* @author ChayChan
16+
* modify by AllenCoder 2018/04/11
1717
* @description: MultipleItemRvAdapter demo
1818
* @date 2018/3/30 11:28
1919
*/
2020

21-
public class DemoMultipleItemRvAdapter extends MultipleItemRvAdapter<NormalMultipleEntity,BaseViewHolder> {
21+
public class DemoMultipleItemRvAdapter extends MultipleItemRvAdapter<NormalMultipleEntity, BaseViewHolder> {
2222

2323
public static final int TYPE_TEXT = 100;
2424
public static final int TYPE_IMG = 200;
@@ -45,11 +45,11 @@ protected int getViewType(NormalMultipleEntity entity) {
4545
//根据实体类判断并返回对应的viewType,具体判断逻辑因业务不同,这里这是简单通过判断type属性
4646
//According to the entity class to determine and return the corresponding viewType,
4747
//the specific judgment logic is different because of the business, here is simply by judging the type attribute
48-
if (entity.type == NormalMultipleEntity.SINGLE_TEXT){
48+
if (entity.type == NormalMultipleEntity.SINGLE_TEXT) {
4949
return TYPE_TEXT;
50-
}else if (entity.type == NormalMultipleEntity.SINGLE_IMG){
50+
} else if (entity.type == NormalMultipleEntity.SINGLE_IMG) {
5151
return TYPE_IMG;
52-
}else if (entity.type == NormalMultipleEntity.TEXT_IMG){
52+
} else if (entity.type == NormalMultipleEntity.TEXT_IMG) {
5353
return TYPE_TEXT_IMG;
5454
}
5555
return 0;

library/src/main/java/com/chad/library/adapter/base/annotation/ItemProviderTag.java

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)