- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 nhaarman 的 ListviewAnimation 库 https://github.com/nhaarman/ListViewAnimations效果很好。
但我面临以下问题:
我面临的主要问题是,我无法调试我的代码。我已将四个必需的库直接复制/粘贴到 libs
文件夹中。在任何 ListView 方法(如 onItemLongClick()
)中放置调试点都不起作用。
第二个问题是,拖放 ListView 在我的代码中不起作用。每当我尝试拖动任何列表项时,在放下列表项时,该项目会占据与拖动时相同的位置。
这是我使用的代码:
listview.enableDragAndDrop();
listview.setDraggableManager(new TouchViewDraggableManager(
R.id.list_row_draganddrop_textview));
listview.setOnItemMovedListener(this);
listview.setOnItemLongClickListener(this);
@Override
public void onItemMoved(final int originalPosition, final int newPosition) {
if (mToast != null) {
mToast.cancel();
}
mToast = Toast.makeText(getApplicationContext(), "Moved"
+ swingBottomInAnimationAdapter.getItem(newPosition)
+ newPosition, Toast.LENGTH_SHORT);
mToast.show();
}
@Override
public boolean onItemLongClick(final AdapterView<?> parent,
final View view, final int position, final long id) {
if (listview != null) {
listview.startDragging(position - listview.getHeaderViewsCount());
}
return true;
}
最佳答案
Whenever I try to drag any list item, on dropping the list item, the item takes the same position from which it was dragged.
当然。处理位置的变化是你的责任,你应该在 onItemMoved
回调中处理它:
@Override
public void onItemMoved(final int originalPosition, final int newPosition) {
if (mToast != null) {
mToast.cancel();
}
mToast = Toast.makeText(getApplicationContext(), "Moved"
+ swingBottomInAnimationAdapter.getItem(newPosition)
+ newPosition, Toast.LENGTH_SHORT);
mToast.show();
// Adapt the following to your implementation
if (originalPosition != newPosition) {
YourObject item = (YourObject) yourAdapter.getItem(originalPosition);
yourAdapter.moveItem(item, newPosition);
}
}
上面提到的方法看起来像这样:
public void moveItem(YourObject item, int newIndex) {
if (mEntries != null) {
mEntries.remove(item);
mEntries.add(newIndex, item);
notifyDataSetChanged();
}
}
如果您查看源代码,您会发现您拖动的是一个位图
。列表项位于其原始位置。
关于android - 拖放在 nhaarman 的 ListviewAnimation 库中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117530/
我正在使用 nhaarman 的 ListViewAnimations ( http://nhaarman.github.io/ListViewAnimations/ ) 来实现一个可扩展的 List
我正在尝试将这个库嵌入到我的 android 项目中。正如他们的 wiki 中所说,我做的很少,添加了 gradle 编译行 compile 'com.nhaarman.listviewanimati
我正在使用 DynamicListView 中的拖放功能重新排列列表中项目的顺序。 它工作正常,除了与列表中的下一个交换项目不起作用。我只能将一个项目拖到至少两个位置,例如从位置 1 到 3,但不能从
我在尝试使用 ExpadableListItemAdapter 时遇到问题。根据这个link我需要做的就是覆盖适配器的 getTitleView 和 getContentView。所以我使用这个适配器
我正在使用 nhaarman 的 ListviewAnimation 库 https://github.com/nhaarman/ListViewAnimations效果很好。 但我面临以下问题: 我
我正在使用 nhaarman 的 ListviewAnimation 库 https://github.com/nhaarman/ListViewAnimations效果很好。 虽然我很难调整他的选项
有没有人加入 MergeAdapter、StickyListHeaders 和 ListViewAnimations android 库? 我的需求是: 一个垂直 ScrollView 中的多个 Li
我正在尝试使用这个:lib当用户滑动时删除我的列表项。但我似乎不知道如何将我现有的 listView 转换为 DynamicListView。我已经阅读了给出的说明,它只是说要在 xml 布局中添加一
我是一名优秀的程序员,十分优秀!