首页贡献榜添加隐身

This commit is contained in:
18401019693
2022-09-16 17:04:45 +08:00
parent 5e581dd65e
commit bebf19215e
13 changed files with 198 additions and 55 deletions

View File

@@ -3,15 +3,19 @@ package com.yunbao.main.activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import androidx.core.content.ContextCompat;
import androidx.viewpager.widget.ViewPager;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import androidx.viewpager.widget.ViewPager;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.adapter.ViewPagerAdapter;
import com.yunbao.common.bean.NobleRankHideUserListModel;
import com.yunbao.common.event.FollowEvent;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.main.R;
import com.yunbao.main.views.AbsMainListChildViewHolder;
@@ -43,19 +47,20 @@ public class MainListActivity extends AbsActivity {
private MainListContributeViewHolder mContributeViewHolder;//贡献榜
private MagicIndicator mIndicator;
private ViewPager mViewPager;
private List<String> outRankHide = new ArrayList<>();
public static void forward(Context context,int p) {
context.startActivity(new Intent(context, MainListActivity.class).putExtra("p",p));
public static void forward(Context context, int p) {
context.startActivity(new Intent(context, MainListActivity.class).putExtra("p", p));
}
@Override
protected void onResume() {
super.onResume();
if(mProfitViewHolder!=null && mProfitViewHolder.mAdapter!=null) {
if (mProfitViewHolder != null && mProfitViewHolder.mAdapter != null) {
mProfitViewHolder.mAdapter.notifyDataSetChanged();
}
if(mContributeViewHolder!=null && mContributeViewHolder.mAdapter!=null) {
if (mContributeViewHolder != null && mContributeViewHolder.mAdapter != null) {
mContributeViewHolder.mAdapter.notifyDataSetChanged();
}
}
@@ -140,11 +145,27 @@ public class MainListActivity extends AbsActivity {
mIndicator.setNavigator(commonNavigator);
ViewPagerHelper.bind(mIndicator, mViewPager);
//默认选择第几个
mIndicator.onPageSelected(getIntent().getIntExtra("p",0));
mViewPager.setCurrentItem(getIntent().getIntExtra("p",0));
mIndicator.onPageSelected(getIntent().getIntExtra("p", 0));
mViewPager.setCurrentItem(getIntent().getIntExtra("p", 0));
//加载数据
loadData();
EventBus.getDefault().register(MainListActivity.this);
//获取隐身的用户的ID
LiveNetManager.get(mContext)
.getNobleRankHideUserList(new HttpCallback<NobleRankHideUserListModel>() {
@Override
public void onSuccess(NobleRankHideUserListModel data) {
outRankHide = data.getOutRankHide();
if (mContributeViewHolder != null) {
mContributeViewHolder.setHide(data.getOutRankHide());
}
}
@Override
public void onError(String error) {
Log.e("MainListActivity", error);
}
});
}
private void loadPageData(int position) {
@@ -163,6 +184,7 @@ public class MainListActivity extends AbsActivity {
vh = mProfitViewHolder;
} else if (position == 1) {
mContributeViewHolder = new MainListContributeViewHolder(mContext, parent);
mContributeViewHolder.setHide(outRankHide);
vh = mContributeViewHolder;
}
if (vh == null) {

View File

@@ -23,6 +23,7 @@ import com.yunbao.common.custom.MyRadioButton;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.utils.CommonIconUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.main.R;
@@ -53,6 +54,7 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
private List<ListBean> mTopList;
private HeadVh mHeadVh;
private int mType;
private List<String> outRankHide = new ArrayList<>();
public MainListAdapter(Context context, int type) {
@@ -69,7 +71,13 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
ViewClicksAntiShake.clicksAntiShake(v, () -> {
Object tag = v.getTag();
if (tag != null && mOnItemClickListener != null) {
mOnItemClickListener.onItemClick((ListBean) tag, 0);
ListBean model = (ListBean) tag;
if (model.isHide()) {
ToastUtil.show(R.string.can_not_go);
} else {
mOnItemClickListener.onItemClick(model, 0);
}
}
});
@@ -136,7 +144,13 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
@Override
public void refreshData(List<ListBean> list) {
for (ListBean model : list) {
for (String hideId : outRankHide) {
model.setHide(TextUtils.equals(model.getUid(), hideId));
}
}
mTopList.clear();
int size = list.size();
if (size > 0) {
mTopList.add(list.get(0));
@@ -219,11 +233,6 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
SVGAImageView svga2;
SVGAImageView svga3;
// View mDataGroup2;
// View mDataGroup3;
// View mNoData2;
// View mNoData3;
public HeadVh(View itemView) {
super(itemView);
mItem1 = itemView.findViewById(R.id.item_1);
@@ -259,11 +268,6 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
svga1 = (SVGAImageView) itemView.findViewById(R.id.svga1);
svga2 = (SVGAImageView) itemView.findViewById(R.id.svga2);
svga3 = (SVGAImageView) itemView.findViewById(R.id.svga3);
// mDataGroup2 = itemView.findViewById(R.id.data_group_2);
// mDataGroup3 = itemView.findViewById(R.id.data_group_3);
// mNoData2 = itemView.findViewById(R.id.no_data_2);
// mNoData3 = itemView.findViewById(R.id.no_data_3);
}
void setData(Object payload) {
@@ -301,8 +305,14 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
if (payload == null) {
mItem1.setTag(bean);
mItem1.setVisibility(View.VISIBLE);
ImgLoader.display(mContext, bean.getAvatarThumb(), mAvatar1);
mName1.setText(bean.getUserNiceName());
if (bean.isHide()) {
mName1.setText(R.string.mystery_man);
ImgLoader.display(mContext, R.mipmap.hide, mAvatar1);
} else {
ImgLoader.display(mContext, bean.getAvatarThumb(), mAvatar1);
mName1.setText(bean.getUserNiceName());
}
mVotes1.setText(bean.getTotalCoinFormat());
mSex1.setImageResource(CommonIconUtil.getSexIcon(bean.getSex()));
LevelBean levelBean = null;
@@ -399,19 +409,6 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
mBtnFollow2.setBackgroundResource(R.drawable.background_yellow);
mBtnFollow2.setTextColor(Color.parseColor("#FFFFFF"));
}
// if (mNoData2.getVisibility() == View.VISIBLE) {
// mNoData2.setVisibility(View.INVISIBLE);
// }
// if (mDataGroup2.getVisibility() != View.VISIBLE) {
// mDataGroup2.setVisibility(View.VISIBLE);
// }
} else {
// if (mDataGroup2.getVisibility() == View.VISIBLE) {
// mDataGroup2.setVisibility(View.INVISIBLE);
// }
// if (mNoData2.getVisibility() != View.VISIBLE) {
// mNoData2.setVisibility(View.VISIBLE);
// }
}
if (topSize > 2) {
ListBean bean = mTopList.get(2);
@@ -478,19 +475,6 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
mBtnFollow3.setBackgroundResource(R.drawable.background_yellow);
mBtnFollow3.setTextColor(Color.parseColor("#FFFFFF"));
}
// if (mNoData3.getVisibility() == View.VISIBLE) {
// mNoData3.setVisibility(View.INVISIBLE);
// }
// if (mDataGroup3.getVisibility() != View.VISIBLE) {
// mDataGroup3.setVisibility(View.VISIBLE);
// }
} else {
// if (mDataGroup3.getVisibility() == View.VISIBLE) {
// mDataGroup3.setVisibility(View.INVISIBLE);
// }
// if (mNoData3.getVisibility() != View.VISIBLE) {
// mNoData3.setVisibility(View.VISIBLE);
// }
}
}
}
@@ -551,8 +535,15 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
}
itemView.setTag(bean);
mOrder.setText("" + (position + 4));
ImgLoader.display(mContext, bean.getAvatarThumb(), mAvatar);
mName.setText(bean.getUserNiceName());
if (bean.isHide()) {
mName.setText(R.string.mystery_man);
ImgLoader.display(mContext, R.mipmap.hide, mAvatar);
} else {
ImgLoader.display(mContext, bean.getAvatarThumb(), mAvatar);
mName.setText(bean.getUserNiceName());
}
mVotes.setText(bean.getTotalCoinFormat() + " ");
mSex.setImageResource(CommonIconUtil.getSexIcon(bean.getSex()));
LevelBean levelBean = null;
@@ -607,4 +598,18 @@ public class MainListAdapter extends RefreshAdapter<ListBean> {
}
}
/**
* 设置隐藏数据
*
* @param outRankHide
*/
public void setHide(List<String> outRankHide) {
this.outRankHide = outRankHide;
for (ListBean model : mList) {
for (String hideId : outRankHide) {
model.setHide(TextUtils.equals(model.getUid(), hideId));
}
}
notifyDataSetChanged();
}
}

View File

@@ -19,11 +19,23 @@ public class ListBean {
private int attention;
private int islive;
private String dress_head;
//是否隐藏
private boolean isHide = false;
public boolean isHide() {
return isHide;
}
public ListBean setHide(boolean hide) {
isHide = hide;
return this;
}
@JSONField(name = "dress_head")
public String getDress_head() {
return dress_head;
}
@JSONField(name = "dress_head")
public void setDress_head(String dress_head) {
this.dress_head = dress_head;

View File

@@ -12,6 +12,7 @@ import com.yunbao.main.bean.ListBean;
import com.yunbao.main.http.MainHttpConsts;
import com.yunbao.main.http.MainHttpUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -21,6 +22,7 @@ import java.util.List;
*/
public class MainListContributeViewHolder extends AbsMainListChildViewHolder {
private List<String> outRankHide = new ArrayList<>();
public MainListContributeViewHolder(Context context, ViewGroup parentView) {
super(context, parentView);
@@ -36,12 +38,13 @@ public class MainListContributeViewHolder extends AbsMainListChildViewHolder {
mAdapter = new MainListAdapter(mContext, MainListAdapter.TYPE_CONTRIBUTE);
mAdapter.setOnItemClickListener(MainListContributeViewHolder.this);
}
mAdapter.setHide(outRankHide);
return mAdapter;
}
@Override
public void loadData(int p, HttpCallback callback) {
if(!mType.isEmpty()){
if (!mType.isEmpty()) {
MainHttpUtil.consumeList(mType, p, callback);
}
}
@@ -73,6 +76,17 @@ public class MainListContributeViewHolder extends AbsMainListChildViewHolder {
});
}
/**
* 设置隐藏数据
*
* @param outRankHide
*/
public void setHide(List<String> outRankHide) {
this.outRankHide = outRankHide;
if (mAdapter != null)
mAdapter.setHide(outRankHide);
}
@Override
public void onDestroy() {
super.onDestroy();

View File

@@ -140,7 +140,7 @@
android:background="@drawable/background_dbdbdb"
android:button="@null"
android:gravity="center"
android:text="已关注"
android:text="@string/shield_gift_effect"
android:textColor="@color/white"
android:textSize="11sp" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB