|
|
@@ -62,35 +62,16 @@ public class FgtFind extends BaseCompatFragment {
|
|
|
layout_navigationBar.setVisibility(View.GONE);
|
|
|
mAdapter = new GiftpackListAdapter(getFragmentManager(), SheepApp.getInstance());
|
|
|
mAdapter.add(FgtFindChild.newInstance(0), "全部");
|
|
|
- pager.setAdapter(mAdapter);
|
|
|
- indicator.setupWithViewPager(pager);
|
|
|
- pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
|
|
- @Override
|
|
|
- public void onPageScrolled(int i, float v, int i1) {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onPageSelected(int i) {
|
|
|
- position = i;
|
|
|
- FIND_TAG.onEvent("find_tag_name", ListUtil.hasIndex(list, i - 1) ? list.get(i - 1).getName() : "全部");
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onPageScrollStateChanged(int i) {
|
|
|
-
|
|
|
- }
|
|
|
- });
|
|
|
- CommonUtil.getInstance().reflex(indicator, activity);
|
|
|
-
|
|
|
- pager.setCurrentItem(0);
|
|
|
}
|
|
|
|
|
|
private void initData() {
|
|
|
//尝试获取缓存数据
|
|
|
List<FindTag> newList = DataUtil.getInstance().getCacheList(ApiKey.articles_tags, FindTag.class);
|
|
|
- loadList(newList);
|
|
|
- initNetData();
|
|
|
+ if(ListUtil.isEmpty(newList)){
|
|
|
+ initNetData();
|
|
|
+ } else {
|
|
|
+ loadList(newList);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private int onResumeCount = 0;
|
|
|
@@ -98,7 +79,7 @@ public class FgtFind extends BaseCompatFragment {
|
|
|
@Override
|
|
|
public void onResume() {
|
|
|
super.onResume();
|
|
|
- if (list.isEmpty() && onResumeCount != 0)//非第一次时,并且没有数据时调用该接口
|
|
|
+ if (list.isEmpty() && onResumeCount != 0)//非第一次时,或者没有数据时调用该接口
|
|
|
initNetData();
|
|
|
onResumeCount++;
|
|
|
}
|
|
|
@@ -110,15 +91,13 @@ public class FgtFind extends BaseCompatFragment {
|
|
|
.subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
@Override
|
|
|
public void onNext(BaseMessage baseMessage) {
|
|
|
- if (list.isEmpty()) {//无数据时加载网络获取的新数据,否则不加载新数据
|
|
|
- List<FindTag> newList = baseMessage.getDatas(FindTag.class);
|
|
|
+ List<FindTag> newList = baseMessage.getDatas(FindTag.class);
|
|
|
+ if(list.isEmpty() && !ListUtil.isEmpty(newList))//有缓存时不会加载,没有缓存时获取到数据会加载
|
|
|
loadList(newList);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onError(BaseMessage baseMessage) {
|
|
|
- G.showToast(baseMessage);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -128,34 +107,42 @@ public class FgtFind extends BaseCompatFragment {
|
|
|
if (!ListUtil.isEmpty(newList)) {
|
|
|
list.clear();
|
|
|
ListUtil.addAll(list, newList);
|
|
|
- loadMore();
|
|
|
- }
|
|
|
- }
|
|
|
+ CommonUtil.getInstance().initUrlConfigByNet("awaken_on", new Action1<String>() {
|
|
|
+ @Override
|
|
|
+ public void call(String url) {
|
|
|
+ int awaken_on = NumberFormatUtils.parseInteger(url);
|
|
|
|
|
|
- private List<FindTag> list = ListUtil.emptyList();
|
|
|
+ if (awaken_on == 1) {
|
|
|
+ mAdapter.add(new FgtRouser(), "看点");
|
|
|
+ }
|
|
|
+ for (FindTag findLabel : list) {
|
|
|
+ mAdapter.add(FgtFindChild.newInstance(findLabel.getId()), findLabel.getName());
|
|
|
+ }
|
|
|
+ pager.setAdapter(mAdapter);
|
|
|
+ indicator.setupWithViewPager(pager);
|
|
|
+ pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
|
|
+ @Override
|
|
|
+ public void onPageScrolled(int i, float v, int i1) {
|
|
|
|
|
|
- private void loadMore() {
|
|
|
+ }
|
|
|
|
|
|
- CommonUtil.getInstance().initUrlConfigByNet("awaken_on", new Action1<String>() {
|
|
|
- @Override
|
|
|
- public void call(String url) {
|
|
|
- int awaken_on = NumberFormatUtils.parseInteger(url);
|
|
|
+ @Override
|
|
|
+ public void onPageSelected(int i) {
|
|
|
+ FIND_TAG.onEvent("find_tag_name", ListUtil.hasIndex(list, i - 1) ? list.get(i - 1).getName() : "全部");
|
|
|
+ }
|
|
|
|
|
|
- if (awaken_on == 1) {
|
|
|
- mAdapter.add(new FgtRouser(), "看点");
|
|
|
- }
|
|
|
- for (FindTag findLabel : list) {
|
|
|
- mAdapter.add(FgtFindChild.newInstance(findLabel.getId()), findLabel.getName());
|
|
|
- }
|
|
|
- mAdapter.notifyDataSetChanged();
|
|
|
- CommonUtil.getInstance().reflex(indicator, activity);
|
|
|
- pager.setCurrentItem(position);
|
|
|
- pager.setOffscreenPageLimit(mAdapter.getCount());
|
|
|
+ @Override
|
|
|
+ public void onPageScrollStateChanged(int i) {
|
|
|
|
|
|
- }
|
|
|
- });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ CommonUtil.getInstance().reflex(indicator, activity);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- private int position = 0;//默认选中第一个
|
|
|
+ private List<FindTag> list = ListUtil.emptyList();
|
|
|
|
|
|
}
|