From 60b27016fdc358a6964b7ffe74e78eb31f079028 Mon Sep 17 00:00:00 2001 From: baoyachi Date: Sun, 19 Jun 2016 10:43:46 +0800 Subject: [PATCH 1/4] remove 'Context' about BaseViewHolder.Because about 'Context' in BaseViewHolder just do : public BaseViewHolder setTextColorRes(int viewId, int textColorRes) { TextView view = getView(viewId); view.setTextColor(context.getResources().getColor(textColorRes)); return this; } but subclass also can do this things --- .idea/misc.xml | 2 +- .../adapter/MultipleItemAdapter.java | 2 +- .../library/adapter/base/BaseQuickAdapter.java | 12 ++++++------ .../adapter/base/BaseSectionQuickAdapter.java | 2 +- .../library/adapter/base/BaseViewHolder.java | 17 +---------------- 5 files changed, 10 insertions(+), 25 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index c36657610..12022d146 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -72,7 +72,7 @@ - + diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/MultipleItemAdapter.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/MultipleItemAdapter.java index b82e6dfe6..4f146bad7 100644 --- a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/MultipleItemAdapter.java +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/MultipleItemAdapter.java @@ -52,7 +52,7 @@ protected void convert(BaseViewHolder helper, String item) { public class TextViewHolder extends BaseViewHolder { public TextViewHolder(View itemView) { - super(itemView.getContext(), itemView); + super(itemView); } } diff --git a/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java b/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java index 5f9bed62d..00ac7d95e 100755 --- a/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java +++ b/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java @@ -385,13 +385,13 @@ public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { initItemClickListener(baseViewHolder); break; case HEADER_VIEW: - baseViewHolder = new BaseViewHolder(mContext, mHeaderView); + baseViewHolder = new BaseViewHolder(mHeaderView); break; case EMPTY_VIEW: - baseViewHolder = new BaseViewHolder(mContext, mEmptyView); + baseViewHolder = new BaseViewHolder(mEmptyView); break; case FOOTER_VIEW: - baseViewHolder = new BaseViewHolder(mContext, mFooterView); + baseViewHolder = new BaseViewHolder(mFooterView); break; default: baseViewHolder = onCreateDefViewHolder(parent, viewType); @@ -405,7 +405,7 @@ private BaseViewHolder getLoadingView(ViewGroup parent) { if (mLoadingView == null) { return createBaseViewHolder(parent, R.layout.def_loading); } - return new BaseViewHolder(mContext, mLoadingView); + return new BaseViewHolder(mLoadingView); } @Override @@ -455,9 +455,9 @@ protected BaseViewHolder onCreateDefViewHolder(ViewGroup parent, int viewType) { protected BaseViewHolder createBaseViewHolder(ViewGroup parent, int layoutResId) { if (mContentView == null) { - return new BaseViewHolder(mContext, getItemView(layoutResId, parent)); + return new BaseViewHolder(getItemView(layoutResId, parent)); } - return new BaseViewHolder(mContext, mContentView); + return new BaseViewHolder(mContentView); } diff --git a/library/src/main/java/com/chad/library/adapter/base/BaseSectionQuickAdapter.java b/library/src/main/java/com/chad/library/adapter/base/BaseSectionQuickAdapter.java index 1aa269a14..e6de79c53 100755 --- a/library/src/main/java/com/chad/library/adapter/base/BaseSectionQuickAdapter.java +++ b/library/src/main/java/com/chad/library/adapter/base/BaseSectionQuickAdapter.java @@ -36,7 +36,7 @@ protected int getDefItemViewType(int position) { @Override protected BaseViewHolder onCreateDefViewHolder(ViewGroup parent, int viewType) { if (viewType == SECTION_HEADER_VIEW) - return new BaseViewHolder(mContext, getItemView(mSectionHeadResId, parent)); + return new BaseViewHolder(getItemView(mSectionHeadResId, parent)); return super.onCreateDefViewHolder(parent, viewType); } diff --git a/library/src/main/java/com/chad/library/adapter/base/BaseViewHolder.java b/library/src/main/java/com/chad/library/adapter/base/BaseViewHolder.java index b40a6d4ee..864df301b 100755 --- a/library/src/main/java/com/chad/library/adapter/base/BaseViewHolder.java +++ b/library/src/main/java/com/chad/library/adapter/base/BaseViewHolder.java @@ -1,6 +1,5 @@ package com.chad.library.adapter.base; -import android.content.Context; import android.graphics.Bitmap; import android.graphics.Paint; import android.graphics.Typeface; @@ -31,7 +30,6 @@ public class BaseViewHolder extends RecyclerView.ViewHolder { */ private final SparseArray views; - private final Context context; public View convertView; @@ -41,9 +39,8 @@ public class BaseViewHolder extends RecyclerView.ViewHolder { Object associatedObject; - protected BaseViewHolder(Context context, View view) { + protected BaseViewHolder(View view) { super(view); - this.context = context; this.views = new SparseArray(); convertView = view; @@ -119,18 +116,6 @@ public BaseViewHolder setTextColor(int viewId, int textColor) { return this; } - /** - * Will set text color of a TextView. - * - * @param viewId The view id. - * @param textColorRes The text color resource id. - * @return The BaseViewHolder for chaining. - */ - public BaseViewHolder setTextColorRes(int viewId, int textColorRes) { - TextView view = getView(viewId); - view.setTextColor(context.getResources().getColor(textColorRes)); - return this; - } /** * Will set the image of an ImageView from a drawable. From 173ba694c48dc179a3e94d9fc10e66bafef68b9b Mon Sep 17 00:00:00 2001 From: baoyachi Date: Sun, 19 Jun 2016 14:27:03 +0800 Subject: [PATCH 2/4] move setLoadingView() location --- .../com/chad/library/adapter/base/BaseQuickAdapter.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java b/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java index 00ac7d95e..c11d9e1f1 100755 --- a/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java +++ b/library/src/main/java/com/chad/library/adapter/base/BaseQuickAdapter.java @@ -255,9 +255,6 @@ public void addData(List data) { notifyDataSetChanged(); } - public void setLoadingView(View loadingView) { - this.mLoadingView = loadingView; - } public List getData() { return mData; @@ -401,6 +398,10 @@ public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { } + public void setLoadingView(View loadingView) { + this.mLoadingView = loadingView; + } + private BaseViewHolder getLoadingView(ViewGroup parent) { if (mLoadingView == null) { return createBaseViewHolder(parent, R.layout.def_loading); From 5c28899e8405c205015083763f340f16e895157a Mon Sep 17 00:00:00 2001 From: baoyachi Date: Sun, 19 Jun 2016 14:27:23 +0800 Subject: [PATCH 3/4] remove context not useable --- .../baserecyclerviewadapterhelper/adapter/QuickAdapter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/QuickAdapter.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/QuickAdapter.java index d5d72324c..d19d5518c 100644 --- a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/QuickAdapter.java +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/adapter/QuickAdapter.java @@ -1,6 +1,5 @@ package com.chad.baserecyclerviewadapterhelper.adapter; -import android.content.Context; import android.widget.ImageView; import com.bumptech.glide.Glide; @@ -19,7 +18,7 @@ public QuickAdapter() { super( R.layout.tweet, DataServer.getSampleData(100)); } - public QuickAdapter(Context context, int dataSize) { + public QuickAdapter(int dataSize) { super( R.layout.tweet, DataServer.getSampleData(dataSize)); } @@ -32,6 +31,7 @@ protected void convert(BaseViewHolder helper, Status item) { .setOnClickListener(R.id.tweetAvatar, new OnItemChildClickListener()) .setOnClickListener(R.id.tweetName, new OnItemChildClickListener()) .linkify(R.id.tweetText); + Glide.with(mContext).load(item.getUserAvatar()).crossFade().placeholder(R.mipmap.def_head).transform(new GlideCircleTransform(mContext)).into((ImageView) helper.getView(R.id.tweetAvatar)); } From 8da7e6552bbd1ecf13e0a32d4284c39598cd40b6 Mon Sep 17 00:00:00 2001 From: baoyachi Date: Sun, 19 Jun 2016 14:30:30 +0800 Subject: [PATCH 4/4] =?UTF-8?q?remove=20=E2=80=98Context=E2=80=99=20fix=20?= =?UTF-8?q?bugs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../baserecyclerviewadapterhelper/EmptyViewUseActivity.java | 2 +- .../HeaderAndFooterUseActivity.java | 2 +- .../baserecyclerviewadapterhelper/PullToRefreshUseActivity.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/EmptyViewUseActivity.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/EmptyViewUseActivity.java index fe3d88328..1ba5fd407 100644 --- a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/EmptyViewUseActivity.java +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/EmptyViewUseActivity.java @@ -24,7 +24,7 @@ protected void onCreate(Bundle savedInstanceState) { } private void initAdapter() { - mQuickAdapter = new QuickAdapter(this, 0); + mQuickAdapter = new QuickAdapter(0); View emptyView = getLayoutInflater().inflate(R.layout.empty_view, (ViewGroup) mRecyclerView.getParent(), false); mQuickAdapter.setEmptyView(emptyView); View view = getLayoutInflater().inflate(R.layout.head_view, (ViewGroup) mRecyclerView.getParent(), false); diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/HeaderAndFooterUseActivity.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/HeaderAndFooterUseActivity.java index 562da6e32..89a65fcec 100644 --- a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/HeaderAndFooterUseActivity.java +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/HeaderAndFooterUseActivity.java @@ -47,7 +47,7 @@ public void onClick(View v) { } private void initAdapter() { - mQuickAdapter = new QuickAdapter(HeaderAndFooterUseActivity.this, PAGE_SIZE); + mQuickAdapter = new QuickAdapter(PAGE_SIZE); mQuickAdapter.openLoadAnimation(); mRecyclerView.setAdapter(mQuickAdapter); mQuickAdapter.setOnRecyclerViewItemClickListener(new BaseQuickAdapter.OnRecyclerViewItemClickListener() { diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/PullToRefreshUseActivity.java b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/PullToRefreshUseActivity.java index ed66553bc..6d327ec88 100644 --- a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/PullToRefreshUseActivity.java +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/PullToRefreshUseActivity.java @@ -99,7 +99,7 @@ public void run() { } private void initAdapter() { - mQuickAdapter = new QuickAdapter(PullToRefreshUseActivity.this, PAGE_SIZE); + mQuickAdapter = new QuickAdapter(PAGE_SIZE); mQuickAdapter.openLoadAnimation(); mRecyclerView.setAdapter(mQuickAdapter); mCurrentCounter = mQuickAdapter.getData().size();