• ListView实现Item上下拖动交换位置 并且实现下拉刷新 上拉加载更多


    ListView实现Item上下拖动交换位置  并且实现下拉刷新  上拉加载更多

    package com.example.ListViewDragItem;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.widget.ArrayAdapter;
    import com.example.ListViewDragItem.refreshlist.CustomDragListView;
    import com.example.ListViewDragItem.refreshlist.XListView;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    public class MyActivity extends Activity implements CustomDragListView.OnChangeListener, XListView.IXListViewListener {
        private CustomDragListView customDragListView;
        private ArrayAdapter adapter;
    
        private List<String> list = new ArrayList<String>();
    
        /**
         * Called when the activity is first created.
         */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            InitList();
            customDragListView = (CustomDragListView) findViewById(R.id.customDragListView);
            adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, list);
            customDragListView.setAdapter(adapter);
            customDragListView.setOnChangeListener(this);
            customDragListView.setXListViewListener(this);
            customDragListView.setPullLoadEnable(true);
    //        customDragListView.setPullRefreshEnable(true);
        }
    
        private void InitList() {
            for (int i = 1; i <= 50; i++) {
                list.add("zhangSan" + i + i + i + i + i + i);
            }
        }
    
        /**
         * item交换事件
         */
        @Override
        public void onMove(int from, int to) {
            int headerCount = customDragListView.getHeaderViewsCount();
            if (to - headerCount < list.size()
                    && from - headerCount < list.size()) {
                Collections.swap(list, from - headerCount, to - headerCount);
                adapter.notifyDataSetChanged();
            }
        }
    
        @Override
        public void onUp() {
    
        }
    
        /**
         * listView刷新事件
         */
        @Override
        public void onRefresh() {
            customDragListView.stopRefresh();
        }
    
        /**
         * listView加载更多事件
         */
        @Override
        public void onLoadMore() {
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    customDragListView.stopLoadMore();
                }
            }, 1000);
        }
    }

    震动权限:

     <uses-permission android:name="android.permission.VIBRATE"/>

    源码下载:ListVIewDragItem

  • 相关阅读:
    心灵絮语(一)
    JavaScript基础之对象
    asp.net多线程(收藏)
    详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名
    凡事求个合理
    坐班一族快速消除疲劳七妙招
    电脑前保健攻略
    《孔子》都曰了些啥?
    幸福的来源不是财富的增长,而是欲望的降低
    [转]从一个男人关注的事情上 可以看出他的修养和抱负
  • 原文地址:https://www.cnblogs.com/blogzhangwei/p/4682752.html
Copyright © 2020-2023  润新知