Android -- 官方下拉刷新SwipeRefreshLayout

简介:

V4的兼容包                                                                           

1

API                                                                                    

1

大概就这4个常用的方法。

code                                                                                   

布局

复制代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipe"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ListView
            android:id="@+id/listview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </android.support.v4.widget.SwipeRefreshLayout>

</RelativeLayout>
复制代码

MainActivty

复制代码
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView) findViewById(R.id.listview);
        mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe);
        
        list = new ArrayList<MyTextClass>();
    
        Map<String, String> maps = new HashMap<String, String>();
        maps.put("1", "2");
        
        myHandler = new MyHandler();
        
        client = new MyHttpClient(myHandler);
        
        myThread = new MyThread(client,"http://192.168.1.4/json/index.php",maps,GETJSON);
        
        myHandler.setThread(myThread);
        
        
        myHandler.setHandlerExtraHandleMessage(new MyHandler.HandlerExtraHandleMessage()
        {

            @Override
            public void handleMessage(Message msg) {
                switch (msg.what) {
                case GETJSON:
                    String strJson1 = (String) msg.obj;
                    Json json1 = new Json(strJson1);
                    try {
                        list = json1.getMyTextClass();
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    myBaseAdapter = new MyBaseAdapter(MainActivity.this, list);
                    listView.setAdapter(myBaseAdapter);
                    break;
                case REFRESH:
                    String strJson2 = (String) msg.obj;
                    Json json2 = new Json(strJson2);
                    //list.clear();
                    try {
                        list = json2.getMyTextClass();
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    
                    if(myBaseAdapter != null)
                    {
                        myBaseAdapter.setList(list);
                        myBaseAdapter.notifyDataSetChanged();
                    }
                    else
                    {
                        MyBaseAdapter myBaseAdapter2 = new MyBaseAdapter(MainActivity.this, list);
                        listView.setAdapter(myBaseAdapter2);
                    }
                    mSwipeLayout.setRefreshing(false);
                    break;

                default:
                    System.out.println("Other Message");
                    break;
                }
                super.handleMessage(msg);
            }
            
        });
        
        Map<String, String> maps2 = new HashMap<String, String>();
        maps.put("1", "2");
        MyRefreshListener myRefreshListener = new MyRefreshListener(myHandler, maps2, REFRESH);
        mSwipeLayout.setOnRefreshListener(myRefreshListener);
        mSwipeLayout.setColorScheme(android.R.color.holo_green_dark, android.R.color.holo_green_light,
                android.R.color.holo_orange_light, android.R.color.holo_red_light);

    }
复制代码

我是天王盖地虎的分割线                  




本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3922845.html,如需转载请自行联系原作者

相关文章
|
Android开发
Android RecyclerView 使用大全 - 基础使用,item 动画,下拉刷新等(三)
Android RecyclerView 使用大全 - 基础使用,item 动画,下拉刷新等
|
Android开发
Android RecyclerView 使用大全 - 基础使用,item 动画,下拉刷新等(一)
Android RecyclerView 使用大全 - 基础使用,item 动画,下拉刷新等
|
前端开发 Android开发 Windows
27. 【Android教程】下拉选择框 Spinner
27. 【Android教程】下拉选择框 Spinner
1112 2
|
Android开发
Android RecyclerView 使用大全 - 基础使用,item 动画,下拉刷新等(二)
Android RecyclerView 使用大全 - 基础使用,item 动画,下拉刷新等
|
存储 数据库 Android开发
🔥Android Jetpack全解析!拥抱Google官方库,让你的开发之旅更加顺畅无阻!🚀
【7月更文挑战第28天】在Android开发中追求高效稳定的路径?Android Jetpack作为Google官方库集合,是你的理想选择。它包含多个独立又协同工作的库,覆盖UI到安全性等多个领域,旨在减少样板代码,提高开发效率与应用质量。Jetpack核心组件如LiveData、ViewModel、Room等简化了数据绑定、状态保存及数据库操作。引入Jetpack只需在`build.gradle`中添加依赖。例如,使用Room进行数据库操作变得异常简单,从定义实体到实现CRUD操作,一切尽在掌握之中。拥抱Jetpack,提升开发效率,构建高质量应用!
670 4
|
Android开发
Android自定义之高仿淘宝下拉刷新
Android自定义之高仿淘宝下拉刷新
274 0
|
JSON Android开发 数据格式
Android框架-Google官方Gson解析,android开发实验报告总结
Android框架-Google官方Gson解析,android开发实验报告总结
|
XML Java Android开发
Android Studio App自定义控件中视图的构造和测量方法讲解及实战(附源码 实现下拉刷新功能 超详细必看)
Android Studio App自定义控件中视图的构造和测量方法讲解及实战(附源码 实现下拉刷新功能 超详细必看)
291 1
|
XML Java Android开发
Android App事件交互Event之模仿京东App实现下拉刷新功能(附源码 可直接使用)
Android App事件交互Event之模仿京东App实现下拉刷新功能(附源码 可直接使用)
434 0
Android App事件交互Event之模仿京东App实现下拉刷新功能(附源码 可直接使用)
|
Java 开发工具 Android开发
SLS:使用 OTel 官方 SDK 采集 Android、iOS Trace 数据实践
本文介绍了使用 OTel 官方 SDK 采集 Android、iOS Trace 数据实践。
1813 7
SLS:使用 OTel 官方 SDK 采集 Android、iOS Trace 数据实践