|
- 列表上下滑动事件
- f) n; r3 p* B: ^$ e1 j N, Z- e# g, C' ] - + @; L4 T' i* J8 B# C
- public class MainActivity extends Activity implements IXListViewListener{$ v/ R) G) X( n5 v+ L( i$ k& h
+ q2 {2 x9 \: P0 `; w# G- private XListView mListView;6 @2 _5 Y L: @; d
- private ArrayAdapter<String> mAdapter;- ~! l4 ?- b. m& R2 p
- private ArrayList<String> items = new ArrayList<String>();' U5 y8 s0 b( w4 \" B! Q& B3 k7 Q
- private Handler mHandler;2 E' J8 m) G; Z9 r/ p4 Q0 J2 O
- private int start = 0;//数据起始位置5 u# @; W6 R+ y3 ^7 C
- private static int refreshCnt = 0;//第几次刷新5 @6 K6 f" v, A6 L
-
* b# A# [- E$ Q- N- d6 f. T& I1 ~ - private Date date = new Date();0 q- i* H" i& x/ V% b3 S
- private SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");// 设置更新时间的格式: U* Q R: Q7 z+ O: R+ N
-
+ b1 I0 M2 [3 V7 b - @Override4 N1 V3 S4 h' `6 C _, I- x
- protected void onCreate(Bundle savedInstanceState) {! ?1 I! L# @4 q! J; w/ F
- super.onCreate(savedInstanceState);- Z# ] C) r- A% o
- setContentView(R.layout.activity_main);8 ~' m# Z, t% Q
- geneItems();# C1 `5 d' O: V+ f1 I; O
- mListView = (XListView) findViewById(R.id.列表对象ID属性);
9 o. b* s/ Y4 D3 o5 U - : b! D+ Y& d6 b2 {* C3 C# X9 | I
- mListView.setPullLoadEnable(true);//设置下拉刷新
6 l7 A5 Q( M; I l I- j, U* W; o. b3 r - // mListView.setPullLoadEnable(false);//设置不能进行加载更多操作
* ?$ q# O7 o9 F - // mListView.setPullRefreshEnable(false);//设置不能进行刷新操作+ H, V9 x8 ?6 S$ _* p0 Z: Q( V( d
- . j c8 @8 F2 R5 g3 K/ f- G0 C
- mAdapter = new ArrayAdapter<String>(this, R.layout.xlist_item, items);5 z. q6 Q1 r% N9 \" y! ^
- mListView.setAdapter(mAdapter);
: @( @% V$ }4 k/ i& Y - mListView.setRefreshTime(format.format(date));// 设置更新时间
4 @' F; ^9 P* |; i# t4 o: P7 v2 w. R - mListView.setXListViewListener(this);
6 [: z& a- H) X2 I6 @+ Y - mHandler = new Handler();
9 b$ T1 c: {: s4 H! U0 E7 I - }9 f/ y" @! X; A8 {; w! f: D4 ^
- a( s2 P" h8 y
- private void geneItems() {
* \# }# S8 t0 c1 w- B2 B2 M; e# S - for (int i = 0; i != 20; ++i) {" C/ h8 y' y( l, A% e( K8 l$ s
- items.add("refresh cnt " + (++start));
; @3 x- e0 U" S, P6 P - }
N: ?6 z3 M3 p+ I - }- D8 O: }( T7 L- t$ z& s0 K
7 N/ y* d, X! X1 v' ?+ O- private void onLoad() {" a. p& x" r; a% J$ d$ N( p
- mListView.stopRefresh();
" f, ?" I7 E, ] - mListView.stopLoadMore();
8 z5 }% u7 u' W% h2 i( j - date = new Date();
& P ?3 j7 t9 h# V - mListView.setRefreshTime(format.format(date));// 设置更新时间$ c8 z9 }2 \6 i' h
- }
# e6 n1 e% d' G - - Z) ]1 k* t" s0 k! v
- //下滑刷新% Y$ m7 ^8 U# i% x0 H( Y1 ?
- @Override' `% i: N; y4 U/ n
- public void onRefresh() {1 U" T. E) e% g0 v" S. O7 z
- mHandler.postDelayed(new Runnable() {
" {+ [" O h1 x9 C5 t - @Override, z1 \0 B& o2 Y9 T6 i) R" q
- public void run() {
: t8 ?& D' Y5 e$ W* s0 H% R - start = ++refreshCnt;" l* a- a B3 t1 x4 A
- items.clear();& C* s) x5 R3 Q" O
- MainActivity.this.geneItems();$ V4 A, \# E( N1 w5 U0 i
- mAdapter.notifyDataSetChanged();
; u# n" o! A. P$ c# O - MainActivity.this.onLoad();
+ H3 E9 \% [. ?# m# G - }& {. _; `) I+ t$ v
- }, 2000);
1 |* b3 U! h" x# r7 { - }
! Q, Y0 ?# s* z1 v# T - 8 h- ?9 D4 |& M
- //上滑加载! Z# T6 S" K4 G; T0 {6 E' @7 N
- @Override
; m [4 O8 M) a C1 i% T+ | u - public void onLoadMore() {, a- n9 [" a9 C7 {8 l% b) B
- mHandler.postDelayed(new Runnable() {
?8 X1 K0 _) P- d0 ~ - @Override0 U% Z$ W) P! s( J, }2 S8 L% Y) {
- public void run() {1 c, q o7 E. b8 A( k/ p
- MainActivity.this.geneItems();5 {3 |' J1 |3 z7 n9 p5 d. `, O
- mAdapter.notifyDataSetChanged();
& O7 D/ ~" s5 P/ q+ T/ G* Z - MainActivity.this.onLoad(); I1 r5 R0 E. Q( c
- }* a& k7 d; `+ S9 M# f
- }, 2000);& N+ f6 U' h% n5 d% Z$ Y% I
- }( v1 V0 ^* `3 w O) \* Z
-
$ o5 U6 t- _! `3 ` - }( M) t0 ~! a) a5 x A( d$ Z
复制代码 |
|