天天看點

android 下拉重新整理控件SwipeRefreshLayout簡單使用

Activity代碼

public class MainActivity extends Activity {
    private final static int SUCCESS = ;
    private ListView my_listview;
    private SwipeRefreshLayout my_swiperefres;
    private ArrayAdapter<String> my_adapter;
    private String[] lists = { "a", "b", "c", "d", "e", "1" };
    Handler handle = new Handler() {
        public void handleMessage(android.os.Message msg) {
            switch (msg.what) {
            case SUCCESS:
                my_adapter.notifyDataSetChanged();
                // 通知部件重新整理狀态改變了,setRefreshing()設定是否顯示重新整理進度
                my_swiperefres.setRefreshing(false);
                break;
            default:
                break;
            }

        };
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainactivity);
        initview();
    }

    private void initview() {
        // TODO Auto-generated method stub
        my_listview = (ListView) this.findViewById(R.id.my_listview);
        my_swiperefres = (SwipeRefreshLayout) this.findViewById(R.id.my_swiperefres);

        my_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lists);
        my_listview.setAdapter(my_adapter);

        // 設定監聽者, 當 通過重新整理手勢 引起 重新整理 的時候 接收 通知
        my_swiperefres.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh() {
                // TODO Auto-generated method stub
                // 重新整理完成時通知更新
                handle.sendEmptyMessageDelayed(SUCCESS, );
            }
        });
        // 設定進度的顔色
        my_swiperefres.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light,
                android.R.color.holo_orange_light, android.R.color.holo_orange_dark, android.R.color.holo_red_dark);

    }

}
           

XML布局檔案mainactivity.XML代碼

“`