zoukankan      html  css  js  c++  java
  • SwipeRefreshLayout下拉刷新

    1.设置动画颜色:swipeRefreshLayout.setColorSchemeColors(colors);//可变长参数

    2.下拉刷新事件监听:swipeRefreshLayout.setRefreshListener(refreshListener);

    3.停止刷新:swipeRefreshLayout.setRefreshing(false);

    4.使用时,SwipeRefreshLayout作为父容器将ListView包裹起来

    <android.support.v4.widget.SwipeRefreshLayout
            android:id="@+id/swipe_refresh_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <ListView
                android:id="@+id/lv"
                android:layout_width="match_parent"
                android:layout_height="match_parent"></ListView>
        </android.support.v4.widget.SwipeRefreshLayout>
    public class MainActivity extends AppCompatActivity {
    
        private List<String> list;
        private SwipeRefreshLayout refreshLayout;
        private Handler mHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                //刷新完成,取消刷新动画
                refreshLayout.setRefreshing(false);
                adapter.notifyDataSetChanged();
            }
        };
        private ArrayAdapter<String> adapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initData();
            ListView listView = (ListView) findViewById(R.id.lv);
            refreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);
            refreshLayout.setColorSchemeColors(Color.RED, Color.GREEN, Color.BLUE);
            //设置下拉刷新监听
            refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
                @Override
                public void onRefresh() {
                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            SystemClock.sleep(3000);
                            list.add(0, "李四");
                            mHandler.sendEmptyMessage(0);
                        }
                    }).start();
                }
            });
            adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
            listView.setAdapter(adapter);
        }
    
        private void initData() {
            list = new ArrayList<>();
            for (int i = 0; i < 30; i++) {
                list.add("张三:" + i);
            }
        }
    }

     

  • 相关阅读:
    【OpenJudge 2.5-1792】这绝壁是一道玄学题!【DFS】
    【BZOJ1034】省队选手不务正业打泡泡堂(我也不知道是啥算法)
    文件操作的常用方法和使用
    数据类型所有方法和使用整理之------字典
    数据类型所有方法和使用整理之------列表
    用类的内置方法实现类型检查
    类的内置方法及描述符
    用python实现MRO算法
    RHEL6.5 DHCP服务器搭建
    Python之禅 吾心笃定
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/5446776.html
Copyright © 2011-2022 走看看