|
|
@@ -82,9 +82,13 @@ public class FgtPlayGame extends BaseFragment {
|
|
|
SwipeRefreshLayout refresh;
|
|
|
@BindView(R.id.scrollView)
|
|
|
NestedScrollView scrollView;
|
|
|
+ @BindView(R.id.bottom_line_text)
|
|
|
+ TextView bottom_line_text;
|
|
|
Unbinder unbinder;
|
|
|
|
|
|
public static final int WHAT_UPDATE_VP_HEIGHT = 1;//刷新viewpager高度
|
|
|
+ public static final int WHAT_UPDATE_BOTTOM_LINE = 3;//刷新底线(双击我回到顶部)
|
|
|
+ public static final int WHAT_UPDATE_FOOT_VIEW_CALL_BACK = 4;//刷新发布任务列表的加载更多的状态回调
|
|
|
private Activity activity;
|
|
|
private List<GameEntity> everyDayPlayListData = new ArrayList<>();
|
|
|
private List<GameEntity> hotListData = new ArrayList<>();
|
|
|
@@ -100,9 +104,10 @@ public class FgtPlayGame extends BaseFragment {
|
|
|
@Override
|
|
|
public void handleMessage(Message msg) {
|
|
|
super.handleMessage(msg);
|
|
|
+ FgtPlayGameSon item;
|
|
|
switch (msg.what) {
|
|
|
case WHAT_UPDATE_VP_HEIGHT:
|
|
|
- FgtPlayGameSon item = (FgtPlayGameSon) mAdapter.getItem(curPosition);
|
|
|
+ item = (FgtPlayGameSon) mAdapter.getItem(curPosition);
|
|
|
if (pager == null || item == null) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -111,6 +116,27 @@ public class FgtPlayGame extends BaseFragment {
|
|
|
ViewGroup.LayoutParams params = pager.getLayoutParams();
|
|
|
params.height = count == 0 ? G.HEIGHT / 2 : (count * getResources().getDimensionPixelSize(R.dimen.content_padding_96) + getResources().getDimensionPixelSize(R.dimen.content_padding));
|
|
|
pager.setLayoutParams(params);
|
|
|
+ case WHAT_UPDATE_FOOT_VIEW_CALL_BACK://发布任务列表的加载更多的回调
|
|
|
+ if(msg.obj instanceof String) {
|
|
|
+ String obj = (String) msg.obj;
|
|
|
+ switch (obj) {
|
|
|
+ case "onLoadingMore":
|
|
|
+ bottom_line_text.setText("羊羊努力加载中...");
|
|
|
+ break;
|
|
|
+ case "onLoadMoreComplete":
|
|
|
+ bottom_line_text.setText("上拉下载更多,双击我回到顶部");
|
|
|
+ break;
|
|
|
+ case "onSetNoMore":
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case WHAT_UPDATE_BOTTOM_LINE://刷新底线
|
|
|
+ item = (FgtPlayGameSon) mAdapter.getItem(curPosition);
|
|
|
+ if (mAdapter == null || item == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ bottom_line_text.setText(item.isNoMore() ?"我是有底线的,双击我回到顶部" : "双击我回到顶部");
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -374,8 +400,12 @@ public class FgtPlayGame extends BaseFragment {
|
|
|
if (!ListUtil.isEmpty(newList)) {
|
|
|
list.clear();
|
|
|
ListUtil.addAll(list, newList);
|
|
|
+ int i = 0;
|
|
|
for(FindTag findTag:list){
|
|
|
- mAdapter.add(FgtPlayGameSon.newInstance(findTag.getId()), findTag.getName());
|
|
|
+ FgtPlayGameSon item = FgtPlayGameSon.newInstance(findTag.getId());
|
|
|
+ item.setSelected(i == 0);//默认选中第一个
|
|
|
+ mAdapter.add(item, findTag.getName());
|
|
|
+ i++;
|
|
|
}
|
|
|
pager.setAdapter(mAdapter);
|
|
|
indicator.setupWithViewPager(pager);
|
|
|
@@ -388,7 +418,11 @@ public class FgtPlayGame extends BaseFragment {
|
|
|
@Override
|
|
|
public void onPageSelected(int i) {
|
|
|
// FIND_TAG.onEvent("find_tag_name", ListUtil.hasIndex(list, i - 1) );
|
|
|
+ FgtPlayGameSon lastItem = (FgtPlayGameSon) mAdapter.getItem(i);
|
|
|
curPosition = i;
|
|
|
+ FgtPlayGameSon item = (FgtPlayGameSon) mAdapter.getItem(curPosition);
|
|
|
+ lastItem.setSelected(false);
|
|
|
+ item.setSelected(true);
|
|
|
mHandler.sendEmptyMessage(WHAT_UPDATE_VP_HEIGHT);//重新计算viewpager高度
|
|
|
}
|
|
|
|
|
|
@@ -403,7 +437,7 @@ public class FgtPlayGame extends BaseFragment {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @OnClick({R.id.every_day_more_tv, R.id.recent_hot_more_tv})
|
|
|
+ @OnClick({R.id.every_day_more_tv, R.id.recent_hot_more_tv, R.id.bottom_line})
|
|
|
public void onViewClicked(View view) {
|
|
|
switch (view.getId()) {
|
|
|
case R.id.every_day_more_tv:
|
|
|
@@ -412,14 +446,27 @@ public class FgtPlayGame extends BaseFragment {
|
|
|
case R.id.recent_hot_more_tv:
|
|
|
Jump2View.getInstance().goEverydayOrCurrentHotGame(activity, 1);
|
|
|
break;
|
|
|
+ case R.id.bottom_line://我是有底线的,双击我回到顶部
|
|
|
+ scrollView.fullScroll(NestedScrollView.FOCUS_UP);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
@Subscribe
|
|
|
public void onEventMainThread(BigEvent event) {
|
|
|
switch (event.getEventTypes()) {
|
|
|
- case FGT_PLAYGAME_REFRESH_H:
|
|
|
+ case FGT_PLAY_GAME_REFRESH_H:
|
|
|
mHandler.sendEmptyMessage(WHAT_UPDATE_VP_HEIGHT);
|
|
|
break;
|
|
|
+ case FGT_PLAY_GAME_FOOT_VIEW_CALL_BACK:
|
|
|
+ Message msg = Message.obtain();
|
|
|
+ msg.what = WHAT_UPDATE_FOOT_VIEW_CALL_BACK;
|
|
|
+ msg.obj = event.getData();
|
|
|
+ if(msg.obj != null)
|
|
|
+ mHandler.sendMessage(msg);
|
|
|
+ break;
|
|
|
+ case FGT_PLAY_GAME_SET_BOTTOM_LINE:
|
|
|
+ mHandler.sendEmptyMessage(WHAT_UPDATE_BOTTOM_LINE);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|