StatusFragment.java
3.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package com.studymachine.www.ui.fragment;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.hjq.base.BaseAdapter;
import com.studymachine.www.R;
import com.studymachine.www.app.AppActivity;
import com.studymachine.www.app.TitleBarFragment;
import com.studymachine.www.ui.adapter.StatusAdapter;
import com.hjq.widget.layout.WrapRecyclerView;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.scwang.smart.refresh.layout.api.RefreshLayout;
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener;
import java.util.ArrayList;
import java.util.List;
/**
*
*
* time : 2020/07/10
* desc : 加载案例 Fragment
*/
public final class StatusFragment extends TitleBarFragment<AppActivity>
implements OnRefreshLoadMoreListener,
BaseAdapter.OnItemClickListener {
public static StatusFragment newInstance() {
return new StatusFragment();
}
private SmartRefreshLayout mRefreshLayout;
private WrapRecyclerView mRecyclerView;
private StatusAdapter mAdapter;
@Override
protected int getLayoutId() {
return R.layout.status_fragment;
}
@Override
protected void initView() {
mRefreshLayout = findViewById(R.id.rl_status_refresh);
mRecyclerView = findViewById(R.id.rv_status_list);
mAdapter = new StatusAdapter(getAttachActivity());
mAdapter.setOnItemClickListener(this);
mRecyclerView.setAdapter(mAdapter);
TextView headerView = mRecyclerView.addHeaderView(R.layout.picker_item);
headerView.setText("我是头部");
headerView.setOnClickListener(v -> toast("点击了头部"));
TextView footerView = mRecyclerView.addFooterView(R.layout.picker_item);
footerView.setText("我是尾部");
footerView.setOnClickListener(v -> toast("点击了尾部"));
mRefreshLayout.setOnRefreshLoadMoreListener(this);
}
@Override
protected void initData() {
mAdapter.setData(analogData());
}
/**
* 模拟数据
*/
private List<String> analogData() {
List<String> data = new ArrayList<>();
for (int i = mAdapter.getCount(); i < mAdapter.getCount() + 20; i++) {
data.add("我是第" + i + "条目");
}
return data;
}
/**
* {@link BaseAdapter.OnItemClickListener}
*
* @param recyclerView RecyclerView对象
* @param itemView 被点击的条目对象
* @param position 被点击的条目位置
*/
@Override
public void onItemClick(RecyclerView recyclerView, View itemView, int position) {
toast(mAdapter.getItem(position));
}
/**
* {@link OnRefreshLoadMoreListener}
*/
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
postDelayed(() -> {
mAdapter.clearData();
mAdapter.setData(analogData());
mRefreshLayout.finishRefresh();
}, 1000);
}
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
postDelayed(() -> {
mAdapter.addData(analogData());
mRefreshLayout.finishLoadMore();
mAdapter.setLastPage(mAdapter.getCount() >= 100);
mRefreshLayout.setNoMoreData(mAdapter.isLastPage());
}, 1000);
}
}