修复部分bug
This commit is contained in:
@ -37,7 +37,11 @@ public abstract class BaseRecyclerViewHolder<T> extends RecyclerView.ViewHolder
|
||||
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
mListClickListener.onListClick(view, getAdapterPosition(), mData);
|
||||
try {
|
||||
mListClickListener.onListClick(view, getAdapterPosition(), mData);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -22,6 +22,7 @@ import com.gh.gamecenter.baselist.ListAdapter;
|
||||
import com.gh.gamecenter.manager.UserManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -32,7 +33,7 @@ public class AskSelectGameAdapter extends ListAdapter {
|
||||
|
||||
private OnListClickListener mListClickListener;
|
||||
|
||||
private List<AskGameSelectEntity> mEntityList;
|
||||
private final List<AskGameSelectEntity> mEntityList = new ArrayList<>();
|
||||
|
||||
private int mTitlePosition;
|
||||
|
||||
@ -47,7 +48,8 @@ public class AskSelectGameAdapter extends ListAdapter {
|
||||
|
||||
@Override
|
||||
protected <T> void provideListData(List<T> listData) {
|
||||
mEntityList = new ArrayList(listData);
|
||||
mEntityList.clear();
|
||||
mEntityList.addAll((Collection<? extends AskGameSelectEntity>) listData);
|
||||
for (int i = 0; i < mEntityList.size(); i++) {
|
||||
AskGameSelectEntity entity = mEntityList.get(i);
|
||||
if (i == 0) {
|
||||
|
||||
@ -227,15 +227,17 @@ public class AnswerDetailFragment extends NormalFragment {
|
||||
public void onClick(View view) {
|
||||
switch (view.getId()) {
|
||||
case R.id.answer_detail_edit:
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(EntranceUtils.KEY_ANSWER_ID, mAnswerId);
|
||||
bundle.putString(EntranceUtils.KEY_QUESTIONS_TITLE, mDetailEntity.getQuestion().getTitle());
|
||||
bundle.putString(EntranceUtils.KEY_ANSWER_CONTENT, mDetailEntity.getContent());
|
||||
NormalActivity.startFragmentForResult(getContext(), AnswerEditFragment.class, bundle, ANSWER_PATCH_REQUEST);
|
||||
if (mDetailEntity != null) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(EntranceUtils.KEY_ANSWER_ID, mAnswerId);
|
||||
bundle.putString(EntranceUtils.KEY_QUESTIONS_TITLE, mDetailEntity.getQuestion().getTitle());
|
||||
bundle.putString(EntranceUtils.KEY_ANSWER_CONTENT, mDetailEntity.getContent());
|
||||
NormalActivity.startFragmentForResult(getContext(), AnswerEditFragment.class, bundle, ANSWER_PATCH_REQUEST);
|
||||
}
|
||||
break;
|
||||
case R.id.answer_detail_vote:
|
||||
CheckLoginUtils.checkLogin(getContext(), () -> {
|
||||
if (!mDetailEntity.getMe().isAnswerVoted()) {
|
||||
if (mDetailEntity != null && !mDetailEntity.getMe().isAnswerVoted()) {
|
||||
postVote();
|
||||
} else {
|
||||
toast(R.string.ask_vote_hint);
|
||||
@ -248,8 +250,10 @@ public class AnswerDetailFragment extends NormalFragment {
|
||||
initData();
|
||||
break;
|
||||
case R.id.answer_detail_title:
|
||||
Intent intent = QuestionsDetailActivity.getIntent(getContext(), mDetailEntity.getQuestion().getId(), mEntrance);
|
||||
startActivity(intent);
|
||||
if (mDetailEntity != null) {
|
||||
Intent intent = QuestionsDetailActivity.getIntent(getContext(), mDetailEntity.getQuestion().getId(), mEntrance);
|
||||
startActivity(intent);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,8 +14,6 @@ import com.gh.gamecenter.baselist.ListAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
|
||||
/**
|
||||
* Created by khy on 5/12/17.
|
||||
*/
|
||||
|
||||
@ -119,6 +119,7 @@ public abstract class ListFragment<T> extends NormalFragment implements
|
||||
|
||||
@Override
|
||||
public void onChanged(@Nullable List<T> ts) {
|
||||
assert ts != null;
|
||||
provideListAdapter().provideListData(ts);
|
||||
}
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
private String suggestTime;
|
||||
private String gameName;
|
||||
|
||||
private List<CalendarEntity> curDayData;
|
||||
private List<CalendarEntity> mCurDayData;
|
||||
private List<KaiFuServerEntity> mServerList;
|
||||
|
||||
private GameDetailKaiFuViewHolder viewHolder;
|
||||
@ -84,7 +84,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
isNextMonth = false;
|
||||
isExistCurServer = false;
|
||||
|
||||
curDayData = new ArrayList<>();
|
||||
mCurDayData = new ArrayList<>();
|
||||
|
||||
checkExistCurSerer();
|
||||
|
||||
@ -211,6 +211,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
|
||||
@Override
|
||||
public void call(Subscriber<? super Integer> subscriber) {
|
||||
List<CalendarEntity> curDayData = new ArrayList<>();
|
||||
// 获取当前 年-月
|
||||
long curDate = System.currentTimeMillis();
|
||||
SimpleDateFormat formatYear = new SimpleDateFormat("yyyy", Locale.CHINA);
|
||||
@ -224,7 +225,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
isNextMonth = true;
|
||||
if (curMonth == 12) {
|
||||
curMonth = 1;
|
||||
curYear ++;
|
||||
curYear++;
|
||||
} else {
|
||||
curMonth = curMonth + 1;
|
||||
}
|
||||
@ -242,7 +243,6 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
if (curWeek == 1) {
|
||||
curWeek = 8;
|
||||
}
|
||||
curDayData.clear();
|
||||
int day = 0;
|
||||
for (int i = 1; i <= 49; i++) {
|
||||
CalendarEntity entity = new CalendarEntity();
|
||||
@ -281,6 +281,8 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
}
|
||||
}
|
||||
|
||||
mCurDayData.clear();
|
||||
mCurDayData.addAll(curDayData);
|
||||
subscriber.onNext(0);
|
||||
subscriber.onCompleted();
|
||||
}
|
||||
@ -295,7 +297,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
notifyDataSetChanged();
|
||||
} else if (response == 1) {
|
||||
ViewGroup.LayoutParams params = viewHolder.kaifuRl.getLayoutParams();
|
||||
params.height = ((curDayData.size() / 7) - 1) * DisplayUtils.dip2px(mContext, 46)
|
||||
params.height = ((mCurDayData.size() / 7) - 1) * DisplayUtils.dip2px(mContext, 46)
|
||||
+ DisplayUtils.dip2px(mContext, 26);
|
||||
viewHolder.kaifuRl.setLayoutParams(params);
|
||||
}
|
||||
@ -350,7 +352,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
((WeekViewHolder) holder).week.setText(week[position]);
|
||||
} else if (holder instanceof GameDetailCalenderViewHolder) {
|
||||
GameDetailCalenderViewHolder viewHolder = (GameDetailCalenderViewHolder) holder;
|
||||
final CalendarEntity entity = curDayData.get(position - 6);
|
||||
final CalendarEntity entity = mCurDayData.get(position - 6);
|
||||
if (entity.getDay() != -1) {
|
||||
int day = entity.getDay();
|
||||
if (day == curDay && !isNextMonth) {
|
||||
@ -377,6 +379,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
for (int i = 0; i < server.size(); i++) {
|
||||
KaiFuServerEntity serverEntity = server.get(i);
|
||||
String type = serverEntity.getType();
|
||||
if (type == null) break;
|
||||
switch (type) {
|
||||
case "删档内测":
|
||||
serverEntity.setOrder(2);
|
||||
@ -470,7 +473,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return curDayData.size();
|
||||
return mCurDayData.size();
|
||||
}
|
||||
|
||||
private void initKaifuDetail(CalendarEntity entity) {
|
||||
|
||||
Reference in New Issue
Block a user