首页自动刷新逻辑修改
This commit is contained in:
@@ -38,11 +38,10 @@ public class HomeTabHomeFragment extends LazyLoadFragment {
|
||||
private RecyclerView recyclerView;
|
||||
private String tabId;
|
||||
private HomeRoomFragmentAdapter mHomeRoomAdapter;
|
||||
private Handler handler = new Handler();
|
||||
private Handler handler = new Handler();
|
||||
private Runnable runnable;
|
||||
|
||||
|
||||
|
||||
public static HomeTabHomeFragment newInstance(int tabId) {
|
||||
|
||||
Bundle args = new Bundle();
|
||||
@@ -78,7 +77,7 @@ public class HomeTabHomeFragment extends LazyLoadFragment {
|
||||
// stopTimer();
|
||||
}
|
||||
|
||||
private void stopTimer(){
|
||||
private void stopTimer() {
|
||||
handler.removeCallbacks(runnable);
|
||||
runnable = null;
|
||||
}
|
||||
@@ -101,7 +100,6 @@ public class HomeTabHomeFragment extends LazyLoadFragment {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 请求数据
|
||||
*/
|
||||
@@ -113,7 +111,7 @@ public class HomeTabHomeFragment extends LazyLoadFragment {
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
|
||||
.subscribe((serviceResult, throwable) -> {
|
||||
if (throwable == null) {
|
||||
if (ListUtils.isListEmpty(serviceResult)){
|
||||
if (ListUtils.isListEmpty(serviceResult)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -125,14 +123,14 @@ public class HomeTabHomeFragment extends LazyLoadFragment {
|
||||
roomsList.get(i).setItemType(HomeTabMapInfo.TYPE_NORMAL);//对原始数据设置type
|
||||
}
|
||||
for (int i = 0; i < roomsList.size(); i++) {
|
||||
if (roomsList.get(i).isIsTop()){
|
||||
if (roomsList.get(i).isIsTop()) {
|
||||
finalList.add(roomsList.get(i));
|
||||
}else {
|
||||
} else {
|
||||
randomList.add(roomsList.get(i));
|
||||
}
|
||||
}
|
||||
sortSeqRoom(finalList);
|
||||
refreshRoomData(finalList,randomList);
|
||||
refreshRoomData(finalList, randomList);
|
||||
|
||||
} else {
|
||||
if (!(throwable instanceof CancellationException)) {
|
||||
@@ -145,30 +143,30 @@ public class HomeTabHomeFragment extends LazyLoadFragment {
|
||||
/**
|
||||
* 刷新数据
|
||||
*/
|
||||
private void refreshRoomData(List<HomeTabMapInfo> finalList,List<HomeTabMapInfo> randomList){
|
||||
private void refreshRoomData(List<HomeTabMapInfo> finalList, List<HomeTabMapInfo> randomList) {
|
||||
List<HomeTabMapInfo> finalList1 = new ArrayList<>(finalList);//最终的6条数据
|
||||
List<HomeTabMapInfo> randomList1 = new ArrayList<>(randomList);//不是置顶的
|
||||
mHomeRoomAdapter.setNewData(getConvertData(finalList1,randomList1));
|
||||
int REFRESH_SPEED = InitialModel.get().getRoomRefresh() > 0?InitialModel.get().getRoomRefresh()*1000:10000;//默认10秒
|
||||
if (runnable != null){
|
||||
return;
|
||||
mHomeRoomAdapter.setNewData(getConvertData(finalList1, randomList1));
|
||||
int REFRESH_SPEED = InitialModel.get().getRoomRefresh() > 0 ? InitialModel.get().getRoomRefresh() * 1000 : 10000;//默认10秒
|
||||
if (runnable != null) {
|
||||
handler.removeCallbacks(runnable);
|
||||
}
|
||||
runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (getActivity() != null) {
|
||||
mHomeRoomAdapter.setNewData(getConvertData(finalList1,randomList1));
|
||||
mHomeRoomAdapter.setNewData(getConvertData(finalList1, randomList1));
|
||||
handler.postDelayed(this, REFRESH_SPEED);
|
||||
}
|
||||
}
|
||||
};
|
||||
handler.postDelayed(runnable,REFRESH_SPEED);
|
||||
handler.postDelayed(runnable, REFRESH_SPEED);
|
||||
}
|
||||
|
||||
private void initRecyclerView() {
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
recyclerView.setItemAnimator(null);
|
||||
mHomeRoomAdapter = new HomeRoomFragmentAdapter(getContext(),null,true);
|
||||
mHomeRoomAdapter = new HomeRoomFragmentAdapter(getContext(), null, true);
|
||||
mHomeRoomAdapter.setEnableLoadMore(false);
|
||||
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), ROWS);
|
||||
mHomeRoomAdapter.setEnableLoadMore(false);
|
||||
@@ -183,20 +181,21 @@ public class HomeTabHomeFragment extends LazyLoadFragment {
|
||||
|
||||
/**
|
||||
* 转化房间数组,不足6的加上虚位以待
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
private List<HomeTabMapInfo> getConvertData(List<HomeTabMapInfo> finalList,List<HomeTabMapInfo> randomList) {
|
||||
private List<HomeTabMapInfo> getConvertData(List<HomeTabMapInfo> finalList, List<HomeTabMapInfo> randomList) {
|
||||
List<HomeTabMapInfo> finalList1 = new ArrayList<>(finalList);//最终的6条数据
|
||||
List<HomeTabMapInfo> randomList1 = new ArrayList<>(randomList);//不是置顶的
|
||||
int ROOM_COUNT = 6;//首页显示6条数据
|
||||
randomList1 = randomList(randomList1);
|
||||
finalList1.addAll(randomList1);
|
||||
|
||||
if (finalList1.size() >= ROOM_COUNT){
|
||||
finalList1 = finalList1.subList(0,ROOM_COUNT);
|
||||
}else {
|
||||
while (finalList1.size() < ROOM_COUNT){
|
||||
if (finalList1.size() >= ROOM_COUNT) {
|
||||
finalList1 = finalList1.subList(0, ROOM_COUNT);
|
||||
} else {
|
||||
while (finalList1.size() < ROOM_COUNT) {
|
||||
HomeTabMapInfo info = new HomeTabMapInfo();
|
||||
info.setItemType(HomeTabMapInfo.TYPE_EMPTY);
|
||||
finalList1.add(info);
|
||||
|
Reference in New Issue
Block a user