• 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);
    
        }

    我是天王盖地虎的分割线                                                             

    1

    源代码:http://pan.baidu.com/s/1dD1Qx01

    listview异步.zip

  • 相关阅读:
    Java初学—类与对象
    linux dd命令测试U盘读写速度
    路由器的几种访问方式
    制作Linux启动盘并安装Linux系统到实体机
    RAID阵列与LVM逻辑卷组创建
    有关Linux下库的概念、生成和升级和使用等
    LInux中VIM的使用和定制
    如何通过mount命令挂载存储设备
    硬盘分区和系统启动
    RAID阵列与LVM逻辑卷组原理
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3922845.html
Copyright © 2020-2023  润新知