在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;
- }
- }
- }
分享到:
相关推荐
在IT领域,特别是Android开发中,"可拖拽listview"是一种常见的用户界面设计,它允许用户通过拖放操作来改变listview中的元素顺序。这种交互方式极大地提升了用户体验,使得数据排序变得更加直观和便捷。本篇文章将...
本篇将详细介绍如何在Android中实现一个可拖动的ListView,以及如何实现拖动分组管理。 首先,我们要了解Android中的Drag and Drop API,这是实现拖动功能的基础。Android SDK提供了一套完整的Drag and Drop API,...
要实现“android可拖动listview”,我们需要关注以下几个关键知识点: 1. **Drag and Drop API**:Android系统提供了一套Drag and Drop API,用于处理拖放操作。我们需要在ListView的Item视图上添加OnTouchListener...
为了实现这一功能,我们需要自定义一个可拖拽的ListView,使用户可以直观地通过手势调整列表中各个条目的顺序。这个"可拖拽listview,可改变item位置"的功能,正是我们要讨论的知识点。 首先,我们需要创建一个...
在Android开发中,"可拖动listview"是一种常见的用户界面需求,允许用户通过触摸屏幕来重新排列ListView中的项目。这种交互方式提升了用户体验,尤其是在处理可排序数据集时。实现这个功能通常涉及到自定义适配器...
"可拖拽listview"是指一种增强型的ListView,它不仅具备基本的显示功能,还支持用户通过手势操作来拖动列表中的项(item)以实现排序或者删除等交互效果。这种功能为用户提供了一种直观、友好的操作体验,尤其适用于...
标题提到的“开源的可拖拽listview的demo”,实际上是一种增强型的ListView实现,它允许用户通过拖放操作来改变列表中的元素顺序,提供了一种直观且用户友好的交互体验。这种特性在各种应用场景中都非常有用,比如...
android的一个可拖拽ListView,是继承ListView实现的 我是在一个开源项目的基础上修改得来,原开源项目地址: https://github.com/fjtianxia/qianxudetianxia
为了提供更丰富的交互体验,开发者通常需要自定义一个可拖拽的ListView。本文将深入探讨如何实现一个可拖拽的ListView,以及涉及的相关技术点。 首先,我们需要了解`AbsListView`的`onTouchEvent()`方法。这是处理...
Eclipse版,如果你导入DemoSmartDragListView报错,那么就自己import并add那个appcompat_v7(如果你的项目目录下有这个工程的话就添加你自己的)就正常了,其实Demo报错并不影响,关键是demo里的jar包才是可拖拽控件...
拖拽ListView是一种在Android开发中实现用户交互效果的高级技巧,允许用户通过手势将列表项上下拖动,改变其在列表中的位置。这种功能常见于任务管理器、日程安排等应用,增强了用户体验,使数据排序更加直观和便捷...
这个库允许用户通过手势拖动ListView中的item,以改变它们的顺序,从而提供了一种直观且用户友好的交互体验。 首先,我们需要在项目中引入`DragSortListView`库。如果你使用的是Gradle构建系统,可以在`build....
通过以上步骤,我们可以实现一个类似QQ分组管理的可拖动ListView。这个过程涵盖了Android UI设计、数据绑定、事件处理、动画制作等多个关键知识点,对于提升Android开发者的设计和编码能力非常有帮助。
你需要确保拖动的数据对象包含ListView能够识别的数据格式。例如,如果ListView的数据源是`ObservableCollection<MyItem>`,则需要在`DragEnter`或`DragOver`事件中检查数据是否包含`MyItem`的实例。 4. **处理Drop...
为了实现这个特性,开发者通常需要自定义ListView或者利用现有的开源库来实现可上下拖动排序的功能。标题中的"可上下拖动排序listview"就是针对这一需求的技术实现。 在描述中提到了一个源码和一篇博文链接,这通常...
"可以拖拽的ListView"正是针对这一需求的一种扩展功能,它允许用户通过手势直接拖动ListView中的条目(Item)并重新排列它们的位置,提升了用户体验。 实现拖拽功能的关键在于对触摸事件的处理和ListView的适配器...
标题“可上下拖动ListView”指的是一种优化的ListView实现,允许用户通过手势上下拖动来浏览列表内容。这种功能通常被称为ListView的滚动优化或者触摸交互增强,使得用户体验更加流畅自然。 **一、ListView基本原理...
"可拖拽移动的listview"是一个特殊实现,它扩展了ListView的基本功能,允许用户通过触摸和拖动来改变ListView中各item(列表项)的位置,提高了用户体验,特别是对于需要排序的数据列表。这种功能常见于应用中的任务...