登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 875|回复: 0

【Android教程】列表上下滑动事件

[复制链接]

444

主题

509

帖子

2051

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2051

荣誉管理论坛元老

发表于 2021-6-20 20:17:26 来自手机 | 显示全部楼层 |阅读模式 来自:
  1. 列表上下滑动事件
    - f) n; r3 p* B: ^$ e1 j  N, Z- e# g, C' ]
  2. + @; L4 T' i* J8 B# C
  3. public class MainActivity extends Activity implements IXListViewListener{$ v/ R) G) X( n5 v+ L( i$ k& h

  4. + q2 {2 x9 \: P0 `; w# G
  5.     private XListView mListView;6 @2 _5 Y  L: @; d
  6.     private ArrayAdapter<String> mAdapter;- ~! l4 ?- b. m& R2 p
  7.     private ArrayList<String> items = new ArrayList<String>();' U5 y8 s0 b( w4 \" B! Q& B3 k7 Q
  8.     private Handler mHandler;2 E' J8 m) G; Z9 r/ p4 Q0 J2 O
  9.     private int start = 0;//数据起始位置5 u# @; W6 R+ y3 ^7 C
  10.     private static int refreshCnt = 0;//第几次刷新5 @6 K6 f" v, A6 L
  11.    
    * b# A# [- E$ Q- N- d6 f. T& I1 ~
  12.     private Date date = new Date();0 q- i* H" i& x/ V% b3 S
  13.     private SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");// 设置更新时间的格式: U* Q  R: Q7 z+ O: R+ N
  14.    
    + b1 I0 M2 [3 V7 b
  15.     @Override4 N1 V3 S4 h' `6 C  _, I- x
  16.     protected void onCreate(Bundle savedInstanceState) {! ?1 I! L# @4 q! J; w/ F
  17.         super.onCreate(savedInstanceState);- Z# ]  C) r- A% o
  18.         setContentView(R.layout.activity_main);8 ~' m# Z, t% Q
  19.         geneItems();# C1 `5 d' O: V+ f1 I; O
  20.         mListView = (XListView) findViewById(R.id.列表对象ID属性);
    9 o. b* s/ Y4 D3 o5 U
  21.         : b! D+ Y& d6 b2 {* C3 C# X9 |  I
  22.         mListView.setPullLoadEnable(true);//设置下拉刷新
    6 l7 A5 Q( M; I  l  I- j, U* W; o. b3 r
  23. //        mListView.setPullLoadEnable(false);//设置不能进行加载更多操作
    * ?$ q# O7 o9 F
  24. //        mListView.setPullRefreshEnable(false);//设置不能进行刷新操作+ H, V9 x8 ?6 S$ _* p0 Z: Q( V( d
  25.         . j  c8 @8 F2 R5 g3 K/ f- G0 C
  26.         mAdapter = new ArrayAdapter<String>(this, R.layout.xlist_item, items);5 z. q6 Q1 r% N9 \" y! ^
  27.         mListView.setAdapter(mAdapter);
    : @( @% V$ }4 k/ i& Y
  28.         mListView.setRefreshTime(format.format(date));// 设置更新时间
    4 @' F; ^9 P* |; i# t4 o: P7 v2 w. R
  29.         mListView.setXListViewListener(this);
    6 [: z& a- H) X2 I6 @+ Y
  30.         mHandler = new Handler();
    9 b$ T1 c: {: s4 H! U0 E7 I
  31.     }9 f/ y" @! X; A8 {; w! f: D4 ^
  32.       a( s2 P" h8 y
  33.     private void geneItems() {
    * \# }# S8 t0 c1 w- B2 B2 M; e# S
  34.         for (int i = 0; i != 20; ++i) {" C/ h8 y' y( l, A% e( K8 l$ s
  35.             items.add("refresh cnt " + (++start));
    ; @3 x- e0 U" S, P6 P
  36.         }
      N: ?6 z3 M3 p+ I
  37.     }- D8 O: }( T7 L- t$ z& s0 K

  38. 7 N/ y* d, X! X1 v' ?+ O
  39.     private void onLoad() {" a. p& x" r; a% J$ d$ N( p
  40.         mListView.stopRefresh();
    " f, ?" I7 E, ]
  41.         mListView.stopLoadMore();
    8 z5 }% u7 u' W% h2 i( j
  42.         date = new Date();
    & P  ?3 j7 t9 h# V
  43.         mListView.setRefreshTime(format.format(date));// 设置更新时间$ c8 z9 }2 \6 i' h
  44.     }
    # e6 n1 e% d' G
  45.     - Z) ]1 k* t" s0 k! v
  46.     //下滑刷新% Y$ m7 ^8 U# i% x0 H( Y1 ?
  47.     @Override' `% i: N; y4 U/ n
  48.     public void onRefresh() {1 U" T. E) e% g0 v" S. O7 z
  49.         mHandler.postDelayed(new Runnable() {
    " {+ [" O  h1 x9 C5 t
  50.             @Override, z1 \0 B& o2 Y9 T6 i) R" q
  51.             public void run() {
    : t8 ?& D' Y5 e$ W* s0 H% R
  52.                 start = ++refreshCnt;" l* a- a  B3 t1 x4 A
  53.                 items.clear();& C* s) x5 R3 Q" O
  54.                 MainActivity.this.geneItems();$ V4 A, \# E( N1 w5 U0 i
  55.                 mAdapter.notifyDataSetChanged();
    ; u# n" o! A. P$ c# O
  56.                 MainActivity.this.onLoad();
    + H3 E9 \% [. ?# m# G
  57.             }& {. _; `) I+ t$ v
  58.         }, 2000);
    1 |* b3 U! h" x# r7 {
  59.     }
    ! Q, Y0 ?# s* z1 v# T
  60. 8 h- ?9 D4 |& M
  61.     //上滑加载! Z# T6 S" K4 G; T0 {6 E' @7 N
  62.     @Override
    ; m  [4 O8 M) a  C1 i% T+ |  u
  63.     public void onLoadMore() {, a- n9 [" a9 C7 {8 l% b) B
  64.         mHandler.postDelayed(new Runnable() {
      ?8 X1 K0 _) P- d0 ~
  65.             @Override0 U% Z$ W) P! s( J, }2 S8 L% Y) {
  66.             public void run() {1 c, q  o7 E. b8 A( k/ p
  67.                 MainActivity.this.geneItems();5 {3 |' J1 |3 z7 n9 p5 d. `, O
  68.                 mAdapter.notifyDataSetChanged();
    & O7 D/ ~" s5 P/ q+ T/ G* Z
  69.                 MainActivity.this.onLoad();  I1 r5 R0 E. Q( c
  70.             }* a& k7 d; `+ S9 M# f
  71.         }, 2000);& N+ f6 U' h% n5 d% Z$ Y% I
  72.     }( v1 V0 ^* `3 w  O) \* Z
  73.    
    $ o5 U6 t- _! `3 `
  74. }( M) t0 ~! a) a5 x  A( d$ Z
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|星空社区 |网站地图

GMT+8, 2024-5-6 14:05 , Processed in 0.057467 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表