gpt4 book ai didi

android - 拖放在 nhaarman 的 ListviewAnimation 库中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:40:20 25 4
gpt4 key购买 nike

我正在使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com