修复部分bug

This commit is contained in:
kehaoyuan
2018-02-07 14:43:40 +08:00
parent b854a6dfef
commit 54f044dfa0
7 changed files with 33 additions and 21 deletions

View File

@ -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();
}
}
}

View File

@ -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) {

View File

@ -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;
}
}

View File

@ -14,8 +14,6 @@ import com.gh.gamecenter.baselist.ListAdapter;
import java.util.List;
import butterknife.BindView;
/**
* Created by khy on 5/12/17.
*/

View File

@ -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);
}

View File

@ -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) {