579 lines
23 KiB
Java
579 lines
23 KiB
Java
package com.gh.gamecenter.gamedetail;
|
|
|
|
import android.content.Context;
|
|
import android.graphics.Color;
|
|
import android.support.v7.widget.GridLayoutManager;
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
import android.support.v7.widget.RecyclerView;
|
|
import android.support.v7.widget.RecyclerView.ViewHolder;
|
|
import android.text.Html;
|
|
import android.text.TextUtils;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.LinearLayout;
|
|
|
|
import com.gh.base.OnListClickListener;
|
|
import com.gh.common.constant.Config;
|
|
import com.gh.common.util.LibaoUtils;
|
|
import com.gh.common.util.NewsUtils;
|
|
import com.gh.common.util.UrlFilterUtils;
|
|
import com.gh.common.view.GridDivider;
|
|
import com.gh.common.view.MarqueeView;
|
|
import com.gh.gamecenter.R;
|
|
import com.gh.gamecenter.SuggestionActivity;
|
|
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
|
|
import com.gh.gamecenter.adapter.viewholder.GameDetailFuLiViewHolder;
|
|
import com.gh.gamecenter.adapter.viewholder.GameDetailKaiFuViewHolder;
|
|
import com.gh.gamecenter.adapter.viewholder.GameDetailLibaoViewHolder;
|
|
import com.gh.gamecenter.adapter.viewholder.GameDetailNewsViewHolder;
|
|
import com.gh.gamecenter.adapter.viewholder.GameDetailNoticeViewHolder;
|
|
import com.gh.gamecenter.adapter.viewholder.GameDetailPluginViewHolder;
|
|
import com.gh.gamecenter.adapter.viewholder.ReuseViewHolder;
|
|
import com.gh.gamecenter.databinding.GamedetailItemKaifuBinding;
|
|
import com.gh.gamecenter.entity.GameDetailContact;
|
|
import com.gh.gamecenter.entity.GameDetailEntity;
|
|
import com.gh.gamecenter.entity.GameDetailServer;
|
|
import com.gh.gamecenter.entity.GameEntity;
|
|
import com.gh.gamecenter.entity.LibaoEntity;
|
|
import com.gh.gamecenter.entity.LibaoStatusEntity;
|
|
import com.gh.gamecenter.entity.NewsEntity;
|
|
import com.gh.gamecenter.entity.ToolBoxEntity;
|
|
import com.gh.gamecenter.eventbus.EBReuse;
|
|
import com.gh.gamecenter.retrofit.Response;
|
|
import com.gh.gamecenter.retrofit.RetrofitManager;
|
|
import com.lightgame.adapter.BaseRecyclerAdapter;
|
|
|
|
import org.greenrobot.eventbus.EventBus;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Timer;
|
|
import java.util.TimerTask;
|
|
|
|
import retrofit2.HttpException;
|
|
import rx.android.schedulers.AndroidSchedulers;
|
|
import rx.functions.Func1;
|
|
import rx.schedulers.Schedulers;
|
|
|
|
|
|
/**
|
|
* Created by khy on 2017/3/27.
|
|
* 游戏详情 - 福利适配器
|
|
*/
|
|
public class FuLiAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
|
|
|
private OnListClickListener mListListener;
|
|
|
|
private List<LibaoEntity> mLibaoList;
|
|
private List<ToolBoxEntity> mToolBoxList;
|
|
|
|
private GameDetailEntity mGameDetailEntity;
|
|
private GameEntity mGameEntity;
|
|
|
|
private int position_news = -1;
|
|
private int position_tools = -1;
|
|
private int position_fuli = -1;
|
|
private int position_libao = -1;
|
|
private int position_kaifu = -1;
|
|
private int position_notice = -1;
|
|
private boolean isOpenLiBaoList;
|
|
private boolean isOpenToolList;
|
|
private boolean mIsPageEmpty;
|
|
|
|
|
|
public FuLiAdapter(Context context, String entrance, GameEntity gameEntity,
|
|
GameDetailEntity detailEntity, OnListClickListener listener) {
|
|
super(context);
|
|
|
|
this.mListListener = listener;
|
|
isOpenLiBaoList = false;
|
|
|
|
mToolBoxList = new ArrayList<>();
|
|
|
|
mGameDetailEntity = detailEntity;
|
|
mGameEntity = gameEntity;
|
|
if (mGameEntity != null) {
|
|
initPosition();
|
|
getToolTox();
|
|
getGameNews();
|
|
addLibaoList();
|
|
}
|
|
|
|
}
|
|
|
|
private void initPosition() {
|
|
if (mGameDetailEntity == null) {
|
|
return;
|
|
}
|
|
GameDetailContact contact = mGameDetailEntity.getContact();
|
|
if (mGameDetailEntity.getNotice() != null && mGameDetailEntity.getNotice().size() > 0) {
|
|
position_notice = 0;
|
|
}
|
|
|
|
if (mGameDetailEntity.getNews() != null
|
|
&& mGameDetailEntity.getNews().size() != 0) {
|
|
if (position_notice != -1) {
|
|
position_news = position_notice + 1;
|
|
} else {
|
|
position_news = 0;
|
|
}
|
|
}
|
|
|
|
if (!TextUtils.isEmpty(mGameDetailEntity.getFulishuoming())
|
|
|| contact != null && (contact.getService() != null && !TextUtils.isEmpty(contact.getService().getDes())
|
|
|| contact.getPlayer() != null && !TextUtils.isEmpty(contact.getService().getDes()))) {
|
|
|
|
if (position_news != -1) {
|
|
position_fuli = position_news + 1;
|
|
} else if (position_notice != -1) {
|
|
position_fuli = position_notice + 1;
|
|
} else {
|
|
position_fuli = 0;
|
|
}
|
|
}
|
|
|
|
if (mToolBoxList != null && mToolBoxList.size() > 0) {
|
|
if (position_fuli != -1) {
|
|
position_tools = position_fuli + 1;
|
|
} else if (position_news != -1) {
|
|
position_tools = position_news + 1;
|
|
} else if (position_notice != -1) {
|
|
position_tools = position_notice + 1;
|
|
} else {
|
|
position_tools = 0;
|
|
}
|
|
}
|
|
|
|
if (mLibaoList != null && mLibaoList.size() > 0) {
|
|
if (position_fuli != -1) {
|
|
position_libao = position_fuli + 1;
|
|
} else if (position_tools != -1) {
|
|
position_libao = position_tools + 1;
|
|
} else if (position_news != -1) {
|
|
position_libao = position_news + 1;
|
|
} else if (position_notice != -1) {
|
|
position_libao = position_notice + 1;
|
|
} else {
|
|
position_libao = 0;
|
|
}
|
|
}
|
|
|
|
|
|
if (checkServerData()) {
|
|
if (position_libao != -1) {
|
|
position_kaifu = position_libao + 1;
|
|
} else if (position_fuli != -1) {
|
|
position_kaifu = position_fuli + 1;
|
|
} else if (position_tools != -1) {
|
|
position_kaifu = position_tools + 1;
|
|
} else if (position_news != -1) {
|
|
position_kaifu = position_news + 1;
|
|
} else if (position_notice != -1) {
|
|
position_kaifu = position_notice + 1;
|
|
} else {
|
|
position_kaifu = 0;
|
|
}
|
|
}
|
|
|
|
if (position_kaifu != -1) {
|
|
int index = 0;
|
|
if (position_news != -1) {
|
|
index++;
|
|
}
|
|
if (position_tools != -1) {
|
|
index++;
|
|
}
|
|
if (position_libao != -1) {
|
|
index++;
|
|
}
|
|
if (position_fuli != -1) {
|
|
index++;
|
|
}
|
|
|
|
if (index >= 2) {
|
|
EventBus.getDefault().post(new EBReuse("canShowKaifuHint"));
|
|
}
|
|
}
|
|
}
|
|
|
|
// 检查开服信息, 防止开服信息都是上一个月以前的,造成开服日历空白的问题
|
|
private boolean checkServerData() {
|
|
if (mGameDetailEntity.getServerEntity() == null || mGameDetailEntity.getServerEntity().getCalendar() == null
|
|
|| mGameDetailEntity.getServerEntity().getCalendar().size() == 0) {
|
|
return false;
|
|
}
|
|
return true; // 如果有开服信息就显示 不做时间过滤了
|
|
}
|
|
|
|
|
|
private void getToolTox() {
|
|
RetrofitManager.getInstance(mContext)
|
|
.getApi()
|
|
.getGameToolBoxData(1, UrlFilterUtils.getFilterQuery("game_id", mGameEntity.getId()))
|
|
.subscribeOn(Schedulers.io())
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
.subscribe(new Response<List<ToolBoxEntity>>() {
|
|
@Override
|
|
public void onResponse(List<ToolBoxEntity> response) {
|
|
super.onResponse(response);
|
|
mToolBoxList = response;
|
|
initPosition();
|
|
notifyDataSetChanged();
|
|
}
|
|
});
|
|
}
|
|
|
|
// 获取游戏新闻
|
|
private void getGameNews() {
|
|
RetrofitManager.getInstance(mContext).getApi()
|
|
.getGameNews(UrlFilterUtils.getFilterQuery("game_id", mGameEntity.getId()), 3, 1)
|
|
.subscribeOn(Schedulers.io())
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
.subscribe(new Response<List<NewsEntity>>() {
|
|
@Override
|
|
public void onResponse(List<NewsEntity> response) {
|
|
Config.filterPluginArticle(response);
|
|
GameDetailContact contact = mGameDetailEntity.getContact();
|
|
if (!mGameEntity.isLibaoExists() && response.size() == 0
|
|
&& TextUtils.isEmpty(mGameDetailEntity.getFulishuoming())
|
|
&& (mGameDetailEntity.getServerEntity() == null
|
|
|| (mGameDetailEntity.getServerEntity().getCalendar() != null
|
|
&& mGameDetailEntity.getServerEntity().getCalendar().size() == 0))
|
|
&& (contact == null || (TextUtils.isEmpty(contact.getPlayer().getKey())
|
|
&& TextUtils.isEmpty(contact.getService().getQq())))) { // 判断当前页面内容是否内容
|
|
mIsPageEmpty = true;
|
|
notifyDataSetChanged(); // 空白页面提示
|
|
|
|
Timer timer = new Timer();
|
|
timer.schedule(new TimerTask() {
|
|
@Override
|
|
public void run() {
|
|
EventBus.getDefault().post(new EBReuse(GameDetailFragment.SKIP_XINXI));
|
|
}
|
|
}, 500);
|
|
}
|
|
|
|
mGameDetailEntity.setNews(response);
|
|
initPosition();
|
|
notifyDataSetChanged();
|
|
}
|
|
|
|
@Override
|
|
public void onFailure(HttpException e) {
|
|
initPosition();
|
|
notifyDataSetChanged();
|
|
}
|
|
});
|
|
}
|
|
|
|
private void addLibaoList() {
|
|
if (mGameEntity == null) return;
|
|
RetrofitManager.getInstance(mContext).getApi()
|
|
.getLibaoByGame(UrlFilterUtils.getFilterQuery("game_id", mGameEntity.getId()), 1, 128)
|
|
.subscribeOn(Schedulers.io())
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
.subscribe(new Response<List<LibaoEntity>>() {
|
|
|
|
@Override
|
|
public void onResponse(List<LibaoEntity> response) {
|
|
getLibaoStatus(response);
|
|
}
|
|
});
|
|
}
|
|
|
|
//获取礼包状态
|
|
private void getLibaoStatus(final List<LibaoEntity> response) {
|
|
StringBuilder builder = new StringBuilder();
|
|
for (int i = 0, size = response.size(); i < size; i++) {
|
|
builder.append(response.get(i).getId());
|
|
builder.append("-");
|
|
}
|
|
if (builder.length() == 0) {
|
|
return;
|
|
}
|
|
|
|
builder.deleteCharAt(builder.length() - 1);
|
|
String ids = builder.toString();
|
|
|
|
RetrofitManager.getInstance(mContext).getApi().getLibaoStatus(UrlFilterUtils.getFilterQuery("libao_ids", ids))
|
|
.map(new Func1<List<LibaoStatusEntity>, Object>() {
|
|
@Override
|
|
public Object call(List<LibaoStatusEntity> list) {
|
|
LibaoUtils.initLiBaoEntity(list, response);
|
|
|
|
if (response.size() != 0) {
|
|
mLibaoList = response;
|
|
initPosition();
|
|
}
|
|
return null;
|
|
}
|
|
})
|
|
.subscribeOn(Schedulers.io())
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
.subscribe(new Response<Object>() {
|
|
@Override
|
|
public void onResponse(Object response) {
|
|
super.onResponse(response);
|
|
notifyDataSetChanged();
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
@Override
|
|
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
|
View view;
|
|
switch (viewType) {
|
|
case 1:
|
|
view = mLayoutInflater.inflate(R.layout.gamedetail_item_notice, parent, false);
|
|
return new GameDetailNoticeViewHolder(view, mListListener);
|
|
case 2:
|
|
view = mLayoutInflater.inflate(R.layout.gamedetail_item_news, parent, false);
|
|
return new GameDetailNewsViewHolder(view, mListListener);
|
|
case 3:
|
|
view = mLayoutInflater.inflate(R.layout.gamedetail_item_fuli, parent, false);
|
|
return new GameDetailFuLiViewHolder(view, mListListener);
|
|
case 4:
|
|
view = mLayoutInflater.inflate(R.layout.gamedetail_item_libao_rv, parent, false);
|
|
return new GameDetailLibaoViewHolder(view);
|
|
case 5:
|
|
view = mLayoutInflater.inflate(R.layout.gamedetail_item_kaifu, parent, false);
|
|
return new GameDetailKaiFuViewHolder(GamedetailItemKaifuBinding.bind(view), mListListener);
|
|
case 6:
|
|
view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false);
|
|
return new FooterViewHolder(view);
|
|
case 7:
|
|
view = mLayoutInflater.inflate(R.layout.reuse_none_data, parent, false);
|
|
LinearLayout content = (LinearLayout) view.findViewById(R.id.reuse_none_data);
|
|
content.setVisibility(View.VISIBLE);
|
|
return new ReuseViewHolder(view);
|
|
case 8:
|
|
view = mLayoutInflater.inflate(R.layout.gamedetail_item_plugin, parent, false);
|
|
return new GameDetailPluginViewHolder(view);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
|
|
if (holder instanceof GameDetailNoticeViewHolder) {
|
|
GameDetailNoticeViewHolder viewHolder = (GameDetailNoticeViewHolder) holder;
|
|
viewHolder.setClickData(mGameDetailEntity);
|
|
initNoticeViewHolder(viewHolder.mvNotice);
|
|
} else if (holder instanceof GameDetailNewsViewHolder) {
|
|
initNewsViewHolder((GameDetailNewsViewHolder) holder);
|
|
} else if (holder instanceof GameDetailPluginViewHolder) { // 工具item
|
|
GameDetailPluginViewHolder viewHolder = (GameDetailPluginViewHolder) holder;
|
|
initToolsViewHolder(viewHolder, position);
|
|
} else if (holder instanceof GameDetailLibaoViewHolder) {
|
|
GameDetailLibaoViewHolder viewHolder = (GameDetailLibaoViewHolder) holder;
|
|
initLibaoViewHolder(viewHolder);
|
|
} else if (holder instanceof GameDetailFuLiViewHolder) {
|
|
GameDetailFuLiViewHolder viewHolder = (GameDetailFuLiViewHolder) holder;
|
|
initFuLiViewHolder(viewHolder);
|
|
} else if (holder instanceof GameDetailKaiFuViewHolder) {
|
|
GameDetailKaiFuViewHolder viewHolder = (GameDetailKaiFuViewHolder) holder;
|
|
initKaiFuViewHolder(viewHolder);
|
|
} else if (holder instanceof ReuseViewHolder) {
|
|
} else if (holder instanceof FooterViewHolder) {
|
|
FooterViewHolder viewHolder = (FooterViewHolder) holder;
|
|
viewHolder.loading.setVisibility(View.GONE);
|
|
viewHolder.hint.setText(R.string.game_suggestion_hint);
|
|
viewHolder.initItemPadding();
|
|
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
SuggestionActivity.startSuggestionActivity(mContext, 4, "game", mGameEntity.getName() + ",问题反馈:");
|
|
}
|
|
});
|
|
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int getItemViewType(int position) {
|
|
if (position_notice != -1 && position_notice == position) {
|
|
return 1;
|
|
} else if (position_tools != -1 && position_tools == position) {
|
|
return 8;
|
|
} else if (position_news != -1 && position_news == position) {
|
|
return 2;
|
|
} else if (position_fuli != -1 && position_fuli == position) {
|
|
return 3;
|
|
} else if (position_libao != -1 && position_libao == position) {
|
|
return 4;
|
|
} else if (position_kaifu != -1 && position_kaifu == position) {
|
|
return 5;
|
|
} else if (position == getItemCount() - 1 && getItemCount() == 1) {
|
|
return 7;
|
|
} else if (position == getItemCount() - 1) {
|
|
return 6;
|
|
}
|
|
return position;
|
|
}
|
|
|
|
@Override
|
|
public int getItemCount() {
|
|
int index = 0;
|
|
if (position_notice != -1) {
|
|
index++;
|
|
}
|
|
if (position_news != -1) {
|
|
index++;
|
|
}
|
|
if (position_fuli != -1) {
|
|
index++;
|
|
}
|
|
if (position_libao != -1) {
|
|
index++;
|
|
}
|
|
if (position_kaifu != -1) {
|
|
index++;
|
|
}
|
|
if (position_tools != -1) {
|
|
index++;
|
|
}
|
|
|
|
if (index != 0 || mIsPageEmpty) {
|
|
index++;
|
|
}
|
|
return index;
|
|
}
|
|
|
|
private void initNoticeViewHolder(final MarqueeView mvNotice) {
|
|
final List<NewsEntity> notice = mGameDetailEntity.getNotice();
|
|
if (notice != null && notice.size() > 0) {
|
|
List<String> list = new ArrayList<>();
|
|
for (NewsEntity newsEntity : notice) {
|
|
list.add(newsEntity.getTitle());
|
|
}
|
|
mvNotice.startWithList(list);
|
|
} else {
|
|
mvNotice.setVisibility(View.GONE);
|
|
}
|
|
}
|
|
|
|
private void initToolsViewHolder(GameDetailPluginViewHolder viewHolder, final int position) {
|
|
viewHolder.gameDetailPluginRv.setNestedScrollingEnabled(false);
|
|
if (isOpenToolList || mToolBoxList.size() <= 3) {
|
|
viewHolder.gamedetailPluginOpen.setVisibility(View.GONE);
|
|
}
|
|
|
|
viewHolder.gamedetailPluginTitle.setText("游戏工具");
|
|
viewHolder.gameDetailPluginRv.setLayoutManager(new LinearLayoutManager(mContext));
|
|
final GameDetailToolsAdapter adapter = new GameDetailToolsAdapter(mContext, mToolBoxList, isOpenToolList);
|
|
viewHolder.gameDetailPluginRv.setAdapter(adapter);
|
|
|
|
viewHolder.gamedetailPluginOpen.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
isOpenToolList = true;
|
|
adapter.notifyDataSetChanged();
|
|
notifyItemChanged(position);
|
|
}
|
|
});
|
|
}
|
|
|
|
private void initNewsViewHolder(GameDetailNewsViewHolder viewHolder) {
|
|
viewHolder.setClickData(mGameDetailEntity);
|
|
|
|
if (mGameDetailEntity.getNews().size() < 3) {
|
|
viewHolder.newsMore.setVisibility(View.GONE);
|
|
} else {
|
|
viewHolder.newsMore.setVisibility(View.VISIBLE);
|
|
}
|
|
final List<NewsEntity> newsList = mGameDetailEntity.getNews();
|
|
for (int i = 0; i < newsList.size(); i++) {
|
|
NewsEntity newsEntity = newsList.get(i);
|
|
switch (i) {
|
|
case 0:
|
|
viewHolder.newItemLine1.setVisibility(View.VISIBLE);
|
|
viewHolder.newsItem1.setVisibility(View.VISIBLE);
|
|
viewHolder.newsTitle1.setText(newsEntity.getTitle());
|
|
NewsUtils.setNewsType(viewHolder.newsType1, newsEntity.getType(), 0, 0);
|
|
break;
|
|
case 1:
|
|
viewHolder.newItemLine2.setVisibility(View.VISIBLE);
|
|
viewHolder.newsItem2.setVisibility(View.VISIBLE);
|
|
viewHolder.newsTitle2.setText(newsEntity.getTitle());
|
|
NewsUtils.setNewsType(viewHolder.newsType2, newsEntity.getType(), 0, 0);
|
|
break;
|
|
case 2:
|
|
viewHolder.newItemLine3.setVisibility(View.VISIBLE);
|
|
viewHolder.newsItem3.setVisibility(View.VISIBLE);
|
|
viewHolder.newsTitle3.setText(newsEntity.getTitle());
|
|
NewsUtils.setNewsType(viewHolder.newsType3, newsEntity.getType(), 0, 0);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void initLibaoViewHolder(GameDetailLibaoViewHolder viewHolder) {
|
|
viewHolder.libaoRv.setNestedScrollingEnabled(false);
|
|
if (mLibaoList != null && (mLibaoList.size() <= 3 || isOpenLiBaoList)) {
|
|
viewHolder.openList.setVisibility(View.GONE);
|
|
} else {
|
|
viewHolder.openList.setVisibility(View.VISIBLE);
|
|
}
|
|
viewHolder.libaoRv.setLayoutManager(new LinearLayoutManager(mContext));
|
|
viewHolder.libaoRv.setAdapter(new GameLibaoGalleryAdapter(mContext, mLibaoList, isOpenLiBaoList, mListListener));
|
|
|
|
viewHolder.openList.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
isOpenLiBaoList = true;
|
|
notifyItemChanged(position_libao);
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
private void initFuLiViewHolder(final GameDetailFuLiViewHolder viewHolder) {
|
|
viewHolder.setClickData(mGameDetailEntity);
|
|
final GameDetailContact contact = mGameDetailEntity.getContact();
|
|
|
|
if (contact != null && contact.getService() != null && !TextUtils.isEmpty(contact.getService().getDes())) {
|
|
viewHolder.fuliQqRl.setVisibility(View.VISIBLE);
|
|
viewHolder.fuliQqDes.setText(contact.getService().getDes());
|
|
} else {
|
|
viewHolder.fuliQqRl.setVisibility(View.GONE);
|
|
}
|
|
|
|
if (contact != null && contact.getPlayer() != null && !TextUtils.isEmpty(contact.getPlayer().getDes())) {
|
|
viewHolder.fuliQqunRl.setVisibility(View.VISIBLE);
|
|
viewHolder.fuliQqunDes.setText(contact.getPlayer().getDes());
|
|
} else {
|
|
viewHolder.fuliQqunRl.setVisibility(View.GONE);
|
|
}
|
|
|
|
if (TextUtils.isEmpty(mGameDetailEntity.getFulishuoming())) {
|
|
viewHolder.fuliDes.setVisibility(View.GONE);
|
|
} else {
|
|
viewHolder.fuliDes.setVisibility(View.VISIBLE);
|
|
viewHolder.fuliDes.setText(Html.fromHtml(mGameDetailEntity.getFulishuoming()));
|
|
}
|
|
|
|
viewHolder.filiNoticeLl.setVisibility(View.GONE);
|
|
}
|
|
|
|
private void initKaiFuViewHolder(GameDetailKaiFuViewHolder viewHolder) {
|
|
viewHolder.setClickData(mGameDetailEntity);
|
|
GameDetailServer serverEntity = mGameDetailEntity.getServerEntity();
|
|
GamedetailItemKaifuBinding binding = viewHolder.binding;
|
|
if (!TextUtils.isEmpty(serverEntity.getDes())) {
|
|
binding.kaifuDes.setVisibility(View.VISIBLE);
|
|
binding.kaifuDes.setText(Html.fromHtml(serverEntity.getDes()));
|
|
} else {
|
|
binding.kaifuDes.setVisibility(View.GONE);
|
|
}
|
|
|
|
GameDetailKaiFuAdapter adapter = new GameDetailKaiFuAdapter(mContext, serverEntity.getCalendar(), binding, mGameEntity, mGameDetailEntity.getMe());
|
|
binding.kaifuRv.setNestedScrollingEnabled(false);
|
|
binding.kaifuRv.setLayoutManager(new GridLayoutManager(mContext, 7));
|
|
binding.kaifuRv.addItemDecoration(new GridDivider(mContext, 1, 7, Color.BLACK));
|
|
binding.kaifuRv.setAdapter(adapter);
|
|
adapter.showKaiFuDetail(false);
|
|
}
|
|
|
|
}
|