如何允许用户重新对列表中的项目进行排序?

6
我有一个Android应用程序,用户可以将项目添加到列表中,我希望他们能够按照自己的意愿重新排列列表中的项目(而不仅仅提供不同的排序方式)。为项目添加位置设置很容易(它们来自数据库),但是有哪些可用的UI元素可以让用户指示所需的排序方式呢?
是否有任何人看到过实现这一点的模式?我在Android上没有看到任何类似于此的东西,除了主屏幕类似但在这一点上看起来有点超出我的专业知识。我能想到的最好的方法是使用长按和上下文菜单来“向上移动”或“向下移动”。
2个回答

3

好的,有正确答案和我的答案。 :-)

正确答案是拖放。Android源代码中的音乐应用程序中有一些这方面的代码,但我目前的触摸事件技能还达不到那个水平。

在我想要使用此功能的一个案例中,我创建了一个使用上下按钮的列表来让用户重新排序。丑陋,但很有效。

如您所示,使用上下文菜单肯定可以实现,但如果您可以节省屏幕空间,则放置按钮会更容易。如果整天都显示它们会令人不愉快,甚至可以通过选项菜单切换按钮可见性。

而且,总有一天,我希望制作一个可重复使用的拖放ReorderableListView组件...但我不会让你们抱太大希望。也许有人有一个我还没有接触过的组件。


2

我刚刚找到这个链接: Android List View Drag and Drop sort,经过一番搜索和浏览我认为在这里分享它是有意义的,因为这是搜索可重新排序列表在Android中的第一个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接