本帖最后由 mlwise 于 2011-09-01 21:49:45 编辑

解决方案 »

  1.   

    如果你的adapter 里面存的东西是从数据库读出来的,那删除,移动都比较复杂。比如移动,需要先做一个map 把移动前的值保存下来,当移动完成后在把移动后的结果 ,update到数据库。如果你的adapter理的数据,不需要持久化,只是修改传入 adaper的数据源那会轻松很多,比如arrayAdapter中传入的array数组,然后再调用adapter的 notifyDatasetChange ,去自动更新。
      

  2.   


    的确是数据库读出来,主要是要在listview的上面,或者在边上显示一个删除和排序按钮,当根据屏幕的大小变化而浮动,能点击到的话,估计就能实现。怎么感觉还是比较难就是。不知道如何下手。
      

  3.   

    我的思路是这样子的:点击删除的话获取到了listview的position取得数据库当前数据的id。删除数据,然后刷新listview。这个比较简单。要移动的话其实也一样。只是你要再数据库中把位置移动了,在刷新listview就可以了。这个复杂在主要是你的listview的position的获取,你从哪行移动到哪行。估计这个比较难办,还要获取手指移动和开始的坐标。要是你数据多了坐标也不行2点触控呢这个或许可以解决这个问题。
      

  4.   

    你再每行数据的点击事件中加入一个dialog,点击或者长按就弹出选项,是删除还是移动到上一行下一行神马的。你要实现鼠标拖动移动还是复杂了点。
      

  5.   


    不明白你具体要做成什么样,但是思路大概就是上面讲的,当移动前,先把数据库中的记录保存到一个map中,比如一个item往上移动3位,你就在map中把对应的item的值与它前面的第3个交换,然后通过map的数据刷新listview, 最后当移动完成,用户点击确定时,再把map的数据和原始的数据做对比,存入数据库。
      

  6.   

    getView 添加布局进去删除通过ContentResolver,排序通过order by
      

  7.   


    好像你这个思路确实可以。删除好办,先在前面设置一个gone的隐藏按钮,要编辑的时候出现,现在主要是排序不好做。
      

  8.   

    救命稻草,关于换序删除更新,俺也是通过改变Cursor来实现的,但是楼主是怎样实现表头随list的滚动而滚动的呢,能告知俺呢