|
|
@@ -4,9 +4,7 @@ import android.app.Activity;
|
|
|
import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
import android.support.annotation.Nullable;
|
|
|
-import android.support.v4.widget.SwipeRefreshLayout;
|
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
|
-import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.TextUtils;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
@@ -16,6 +14,7 @@ import android.widget.TextView;
|
|
|
import com.arialyy.annotations.Download;
|
|
|
import com.arialyy.aria.core.Aria;
|
|
|
import com.arialyy.aria.core.download.DownloadTask;
|
|
|
+import com.jcodecraeer.xrecyclerview.XRecyclerView;
|
|
|
import com.kfzs.android.view.tag.FlowLayout;
|
|
|
import com.kfzs.android.view.tag.TagAdapter;
|
|
|
import com.kfzs.android.view.tag.TagFlowLayout;
|
|
|
@@ -65,6 +64,8 @@ import static com.sheep.gamegroup.util.UMConfigUtils.Event.FIND_ITEM;
|
|
|
*/
|
|
|
public class FgtFindChild extends BaseCompatFragment {
|
|
|
|
|
|
+ private int page = 1;//页数
|
|
|
+ private int per_page = 10;
|
|
|
private int type;
|
|
|
public static FgtFindChild newInstance(int type){
|
|
|
FgtFindChild fgt = new FgtFindChild();
|
|
|
@@ -88,7 +89,7 @@ public class FgtFindChild extends BaseCompatFragment {
|
|
|
private Activity activity;
|
|
|
@Override
|
|
|
protected void initView(Bundle savedInstanceState) {
|
|
|
- setContentView(R.layout.net_empty_fresh_list);
|
|
|
+ setContentView(R.layout.net_empty_xrecycler);
|
|
|
activity = getActivity();
|
|
|
ButterKnife.bind(this, mContentView);
|
|
|
initView();
|
|
|
@@ -97,24 +98,39 @@ public class FgtFindChild extends BaseCompatFragment {
|
|
|
|
|
|
@BindView(R.id.title)
|
|
|
View title;
|
|
|
- @BindView(R.id.refresh)
|
|
|
- SwipeRefreshLayout refresh;
|
|
|
+// @BindView(R.id.refresh)
|
|
|
+// SwipeRefreshLayout refresh;
|
|
|
@BindView(R.id.empty_view)
|
|
|
View empty_view;
|
|
|
@BindView(R.id.check_net_ll)
|
|
|
View check_net_ll;
|
|
|
@BindView(R.id.view_list)
|
|
|
- RecyclerView view_list;
|
|
|
+ XRecyclerView view_list;
|
|
|
private void initView(){
|
|
|
title.setVisibility(View.GONE);
|
|
|
- refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
|
|
+// refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
|
|
+// @Override
|
|
|
+// public void onRefresh() {
|
|
|
+// refreshData();
|
|
|
+// refresh.setRefreshing(false);
|
|
|
+// }
|
|
|
+// });
|
|
|
+ view_list.setLoadingListener(new XRecyclerView.LoadingListener() {
|
|
|
@Override
|
|
|
public void onRefresh() {
|
|
|
refreshData();
|
|
|
- refresh.setRefreshing(false);
|
|
|
}
|
|
|
- });
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onLoadMore() {
|
|
|
+ if(ListUtil.size(list) >= per_page*page){
|
|
|
+ page += 1;
|
|
|
+ initData();
|
|
|
+ }else {
|
|
|
+ view_list.loadMoreComplete();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
view_list.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
|
|
|
view_list.setAdapter(new AdbCommonRecycler<FindItem>(SheepApp.getInstance(), list){
|
|
|
|
|
|
@@ -124,20 +140,20 @@ public class FgtFindChild extends BaseCompatFragment {
|
|
|
}
|
|
|
@Override
|
|
|
public int getViewIdByType(int type) {//type来源于 getItemViewType 返回的值
|
|
|
- if(type == -1 + list.size()){
|
|
|
- return R.layout.find_item_bottom;
|
|
|
- }
|
|
|
return R.layout.find_item;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void convert(ViewHolder holder, final FindItem item) {
|
|
|
+ public void convert(final ViewHolder holder, final FindItem item) {
|
|
|
if(item == null){
|
|
|
return;
|
|
|
}
|
|
|
View rootConvertView = holder.itemView;
|
|
|
View padding = rootConvertView.findViewById(R.id.padding);
|
|
|
- padding.setVisibility(holder.getAdapterPosition() == 0 ? View.GONE : View.VISIBLE);
|
|
|
+ if(padding == null){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ padding.setVisibility(holder.getAdapterPosition() == 1 ? View.GONE : View.VISIBLE);
|
|
|
TextView find_item_name = (TextView)rootConvertView.findViewById(R.id.find_item_name);
|
|
|
TextView find_item_time = (TextView)rootConvertView.findViewById(R.id.find_item_time);
|
|
|
ImageView find_item_iv = (ImageView)rootConvertView.findViewById(R.id.find_item_iv);
|
|
|
@@ -175,7 +191,15 @@ public class FgtFindChild extends BaseCompatFragment {
|
|
|
};
|
|
|
find_item_tags.setAdapter(adapter);
|
|
|
}
|
|
|
-
|
|
|
+// if(BuildConfig.DEBUG){
|
|
|
+// rootConvertView.setOnLongClickListener(new View.OnLongClickListener() {
|
|
|
+// @Override
|
|
|
+// public boolean onLongClick(View view) {
|
|
|
+// G.showToast(""+holder.getAdapterPosition());
|
|
|
+// return true;
|
|
|
+// }
|
|
|
+// });
|
|
|
+// }
|
|
|
rootConvertView.setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
@@ -272,12 +296,8 @@ public class FgtFindChild extends BaseCompatFragment {
|
|
|
|
|
|
public void initData(){
|
|
|
//先尝试获取缓存数据
|
|
|
- List<FindItem> newList = DataUtil.getInstance().getCacheList(ApiKey.articles(type), FindItem.class);
|
|
|
+ List<FindItem> newList = DataUtil.getInstance().getCacheList(ApiKey.articles(page, per_page, type), FindItem.class);
|
|
|
loadList(newList);
|
|
|
- refreshData();
|
|
|
- }
|
|
|
-
|
|
|
- public void refreshData(){
|
|
|
empty_view.setVisibility(View.INVISIBLE);
|
|
|
SysAppUtil.checkNet(new Action1<Integer>() {
|
|
|
@Override
|
|
|
@@ -291,38 +311,45 @@ public class FgtFindChild extends BaseCompatFragment {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
- SheepApp.getInstance().getNetComponent().getApiService().getFindList(1, 100, type)
|
|
|
- .subscribeOn(Schedulers.io())
|
|
|
- .observeOn(AndroidSchedulers.mainThread())
|
|
|
- .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
- @Override
|
|
|
- public void onNext(BaseMessage baseMessage) {
|
|
|
- boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.articles(type));
|
|
|
- if(isNewData) {
|
|
|
- List<FindItem> newList = baseMessage.getDatas(FindItem.class);
|
|
|
- loadList(newList);
|
|
|
- }
|
|
|
- }
|
|
|
+ SheepApp.getInstance().getNetComponent().getApiService().getFindList(page, per_page, type)
|
|
|
+ .subscribeOn(Schedulers.io())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
+ @Override
|
|
|
+ public void onNext(BaseMessage baseMessage) {
|
|
|
+ boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.articles(page, per_page, type));
|
|
|
+ if(isNewData) {
|
|
|
+ List<FindItem> newList = baseMessage.getDatas(FindItem.class);
|
|
|
+ loadList(newList);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
- public void onError(BaseMessage baseMessage) {
|
|
|
- notifyDataSetChanged();
|
|
|
- }
|
|
|
- });
|
|
|
+ @Override
|
|
|
+ public void onError(BaseMessage baseMessage) {
|
|
|
+ notifyDataSetChanged();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ public void refreshData(){
|
|
|
+ list.clear();
|
|
|
+ view_list.getAdapter().notifyDataSetChanged();
|
|
|
+ page = 1;
|
|
|
+ initData();
|
|
|
}
|
|
|
private void loadList(List<FindItem> newList){
|
|
|
- if(!ListUtil.isEmpty(newList)){
|
|
|
- list.clear();
|
|
|
- ListUtil.addAll(list, newList);
|
|
|
- if(!list.isEmpty())
|
|
|
- list.add(null);//底部部分----我是有底线的
|
|
|
- }
|
|
|
+ ListUtil.addAll(list, newList);
|
|
|
notifyDataSetChanged();
|
|
|
}
|
|
|
|
|
|
private void notifyDataSetChanged(){
|
|
|
CommonUtil.getInstance().updateEmptyView(empty_view, list.isEmpty());
|
|
|
- refresh.setRefreshing(false);
|
|
|
+// refresh.setRefreshing(false);
|
|
|
+ if(page == 1){
|
|
|
+ view_list.refreshComplete();
|
|
|
+ } else {
|
|
|
+ view_list.loadMoreComplete();
|
|
|
+ }
|
|
|
view_list.getAdapter().notifyDataSetChanged();
|
|
|
}
|
|
|
private List<FindItem> list = ListUtil.emptyList();
|