Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 5, 2024. It is now read-only.

Commit eea42d3

Browse files
committed
update discover home adapter
1 parent 54f1093 commit eea42d3

File tree

4 files changed

+27
-18
lines changed

4 files changed

+27
-18
lines changed

‎module-discover/src/main/java/com/rae/cnblogs/discover/DiscoverFragment.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
6666
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
6767
super.onActivityCreated(savedInstanceState);
6868
// init views
69-
mAdapter = new DiscoverHomeAdapter(R.layout.item_discover_home_column, R.layout.item_discover_home_section, null);
69+
mAdapter = new DiscoverHomeAdapter();
7070
mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
7171
mRecyclerView.setAdapter(mAdapter);
7272
mRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@@ -128,6 +128,7 @@ public void onLoadColumns(List<AntColumnInfo> columns) {
128128
for (AntColumnInfo column : columns) {
129129
DiscoverItem item = new DiscoverItem(false, null);
130130
item.setData(column);
131+
item.setItemType(DiscoverItem.TYPE_CONTENT_VERTICAL);
131132
data.add(item);
132133
}
133134

‎module-discover/src/main/java/com/rae/cnblogs/discover/home/DiscoverHomeAdapter.java

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,46 @@
44
import android.widget.TextView;
55

66
import com.antcode.sdk.model.AntColumnInfo;
7-
import com.chad.library.adapter.base.BaseSectionQuickAdapter;
7+
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
88
import com.chad.library.adapter.base.BaseViewHolder;
99
import com.rae.cnblogs.basic.AppImageLoader;
1010
import com.rae.cnblogs.discover.DiscoverItem;
1111
import com.rae.cnblogs.discover.R;
1212

13-
import java.util.List;
14-
15-
public class DiscoverHomeAdapter extends BaseSectionQuickAdapter<DiscoverItem, BaseViewHolder> {
13+
public class DiscoverHomeAdapter extends BaseMultiItemQuickAdapter<DiscoverItem, BaseViewHolder> {
1614

1715
/**
1816
* Same as QuickAdapter#QuickAdapter(Context,int) but with
1917
* some initialization data.
20-
*
21-
* @param layoutResId The layout resource id of each item.
22-
* @param sectionHeadResId The section head layout id for each item
23-
* @param data A new list is created out of this one to avoid mutable list
2418
*/
25-
public DiscoverHomeAdapter(int layoutResId, int sectionHeadResId, List<DiscoverItem> data) {
26-
super(layoutResId, sectionHeadResId, data);
19+
public DiscoverHomeAdapter() {
20+
super(null);
21+
addItemType(DiscoverItem.TYPE_SESSION, R.layout.item_discover_home_section);
22+
addItemType(DiscoverItem.TYPE_CONTENT_VERTICAL, R.layout.item_discover_home_column);
2723
}
2824

2925
@Override
3026
protected void convert(BaseViewHolder helper, DiscoverItem item) {
27+
28+
switch (helper.getItemViewType()) {
29+
case DiscoverItem.TYPE_SESSION:
30+
onBindSection(helper, item);
31+
break;
32+
case DiscoverItem.TYPE_CONTENT_VERTICAL:
33+
onBindColumn(helper, item);
34+
break;
35+
}
36+
37+
}
38+
39+
private void onBindColumn(BaseViewHolder helper, DiscoverItem item) {
3140
AntColumnInfo data = (AntColumnInfo) item.getData();
3241
ImageView logoView = helper.itemView.findViewById(R.id.img_logo);
3342
TextView titleView = helper.itemView.findViewById(R.id.tv_title);
3443
TextView numberView = helper.itemView.findViewById(R.id.tv_article_num);
3544
TextView authorView = helper.itemView.findViewById(R.id.tv_author);
3645
TextView subNumView = helper.itemView.findViewById(R.id.tv_sub_num);
3746
TextView recommendationView = helper.itemView.findViewById(R.id.tv_recommendation);
38-
3947
AppImageLoader.display(data.getLogo(), logoView);
4048
titleView.setText(data.getTitle());
4149
numberView.setText(numberView.getResources().getString(R.string.article_num_format, data.getArticleNum()));
@@ -44,9 +52,8 @@ protected void convert(BaseViewHolder helper, DiscoverItem item) {
4452
subNumView.setText(numberView.getResources().getString(R.string.sub_num_format, data.getSubnum()));
4553
}
4654

47-
@Override
48-
protected void convertHead(BaseViewHolder helper, DiscoverItem item) {
49-
TextView view = helper.itemView.findViewById(R.id.tv_title);
50-
view.setText(item.header);
55+
private void onBindSection(BaseViewHolder helper, DiscoverItem item) {
56+
TextView textView = helper.itemView.findViewById(R.id.tv_title);
57+
textView.setText(item.header);
5158
}
5259
}

‎module-discover/src/main/res/layout/item_discover_home_column.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
android:layout_width="match_parent"
66
android:layout_height="wrap_content"
77
android:layout_marginStart="12dp"
8-
android:layout_marginTop="24dp"
8+
android:layout_marginTop="12dp"
99
android:layout_marginEnd="12dp"
10+
android:layout_marginBottom="12dp"
1011
app:cardBackgroundColor="@color/white"
1112
app:cardCornerRadius="6dp"
1213
app:cardElevation="0dp"

‎module-discover/src/main/res/layout/item_discover_home_section.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
android:layout_width="match_parent"
44
android:layout_height="wrap_content"
55
android:orientation="horizontal"
6-
android:padding="20dp">
6+
android:padding="10dp">
77

88
<ImageView
99
android:layout_width="4dp"

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /