在packages/apps/Music/src/touchIncepter.java中
该类提供了listview的拖动效果,并提供接口,在程序接口中实现数据的交换即可。
- packagecom.and.DragListview;
- importjava.util.ArrayList;
- importjava.util.List;
- importandroid.app.ListActivity;
- importandroid.content.Context;
- importandroid.os.Bundle;
- importandroid.view.LayoutInflater;
- importandroid.view.View;
- importandroid.view.ViewGroup;
- importandroid.widget.BaseAdapter;
- importandroid.widget.ImageView;
- importandroid.widget.TextView;
- publicclassDragListviewextendsListActivity{
- MyAdapteradapter;
- TouchInterceptorlist;
- List<String>arrayText;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- list=(TouchInterceptor)getListView();
- getText();
- adapter=newMyAdapter(this);
- setListAdapter(adapter);
- list.setDropListener(mDropListener);
- }
- publicvoidgetText(){
- arrayText=newArrayList<String>();
- arrayText.add("传奇");
- arrayText.add("红豆");
- arrayText.add("流年");
- arrayText.add("棋子");
- }
- privateTouchInterceptor.DropListenermDropListener=
- newTouchInterceptor.DropListener(){
- publicvoiddrop(intfrom,intto){
- Stringitem=arrayText.get(from);
- arrayText.remove(item);
- arrayText.add(to,item);
- adapter.notifyDataSetChanged();
- }
- };
- privateTouchInterceptor.RemoveListenermRemoveListener=
- newTouchInterceptor.RemoveListener(){
- publicvoidremove(intwhich){
- }
- };
- classMyAdapterextendsBaseAdapter{
- privateLayoutInflatermInflater;
- ContextmContext;
- publicMyAdapter(Contextc){
- mInflater=LayoutInflater.from(c);
- }
- publicintgetCount(){
- returnarrayText.size();
- }
- publicObjectgetItem(intarg0){
- returnarrayText.get(arg0);
- }
- publiclonggetItemId(intarg0){
- returnarg0;
- }
- publicViewgetView(intarg0,ViewcontentView,ViewGrouparg2){
- ImageViewimg;
- TextViewtext;
- if(contentView==null){
- contentView=mInflater.inflate(R.layout.list_layout,null);
- }
- img=(ImageView)contentView.findViewById(R.id.img);
- img.setBackgroundResource(R.drawable.icon);
- text=(TextView)contentView.findViewById(R.id.text);
- text.setText(arrayText.get(arg0).toString());
- returncontentView;
- }
- }
- }
分享到:
相关推荐
android 实现可拖动的listview,可实现拖动分组管理。
android 可拖动 listview
可拖动listview 可存对象SharedPreferences
android的一个可拖拽ListView,是继承ListView实现的 我是在一个开源项目的基础上修改得来,原开源项目地址: https://github.com/fjtianxia/qianxudetianxia
可自由拖拽 listview 的列,之后可以重新排序
实现了可拖拽ListView,改一下你需要的ListView就可以为你所用
从guihub上下载下来的demo改良版,该listview控件支持item拖拽,且item可横滑删除
实现可改变子项位置的列表项。代码注释比较详细,用起很简单方便。
Eclipse版,如果你导入DemoSmartDragListView报错,那么就自己import并add那个appcompat_v7(如果你的项目目录下有这个工程的话就添加你自己的)就正常了,其实Demo报错并不影响,关键是demo里的jar包才是可拖拽控件...
listview 拖动 item 排序,参照了DragSortListView:可拖动排序的listview DragSortListView:可拖动排序的listview
该demo是国外的源码demo 优化的非常好 大家可以下载下来学习学习
Android拖拽事件 ListView拖拽,可以拖动ListView中的Item然后拖动到想要的位置
listview不可拖动列头锁定列头Columns
以listview为例,试验了一下拖拽功能。下载前可先看看实现效果。 效果图地址:http://www.pmlehuo.com/?p=236
拖拽ListView的工程源码,导入直接可以运行
实现android 列表项 拖拽的效果.....原文: App列表之拖拽ListView源码(上) http://www.cnblogs.com/qianxudetianxia/archive/2011/06/12/2068761.html App列表之拖拽ListView源码(下) ...
可拖拽排序的ListView,并实现了侧滑删除,没有测试出BUG,请亲们帮着改进
该demo实现了,listview中item拖拽互换位置的功能,如项目需要可以直接集成。
拖拽ListView的实现