• 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,如需转载请自行联系原作者

  • 相关阅读:
    Python环境搭建后,多种方式的使用进行程序的执行。
    Visual Studio 2017进行Python开发环境的搭建,使用VS2017进行python代码的编写。
    Linux Ubuntu运行线程程序出现undefined reference to ‘pthread_create’和undefined reference to ‘pthread_join’错误。
    计算机二级-C语言-程序填空题-190107记录
    2018/03/08 每日一学PHP 之 常量defind 和 const区别
    H5手机页面剖析
    jQuery(三)
    jQuery(二)
    jQuery(一)
    JS构造函数(便于理解,简易)
  • 原文地址:https://www.cnblogs.com/twodog/p/12139279.html
Copyright © 2020-2023  润新知