gpt4 book ai didi

android - SwipeListView by 47degree : swipe first item programmatically

转载 作者:太空狗 更新时间:2023-10-29 12:44:51 25 4
gpt4 key购买 nike

我想在 SwipeListView 上滑动第一项在 Activity 上启动以向用户显示 SwipeListView 可滑动。

如何使用此 UI 元素以编程方式执行此操作?

更新

我试着用

swipeListView.openAnimate(position)

这是在答案中提出的,但出于某种原因,即使在我用数据项填充适配器之后......当我调试并到达此代码部分时,swipeListView 看不到其中的项目,并且失败 NullPointerException

更新2

好吧,我意识到适配器中没有项目的原因是它尚未在 onCreate 中创建,所以我将此代码移至方法:

public void onWindowFocusChanged(boolean hasFocus){}

我的 Activity 现在可以运行,但在 SwipeListView 库的以下方法上仍然失败:

 private void resetCell() {
if (downPosition != ListView.INVALID_POSITION) {
if (swipeCurrentAction == SwipeListView.SWIPE_ACTION_CHOICE) {
backView.setVisibility(View.VISIBLE);
}
frontView.setClickable(opened.get(downPosition));
frontView.setLongClickable(opened.get(downPosition));
frontView = null;
backView = null;
downPosition = ListView.INVALID_POSITION;
}
}

原因是当此方法运行时,frontView 对象永远不会被设置,并且那些对象为 null。

最佳答案

打开你应该使用的项目

swipeListView.openAnimate(position)

要关闭您可以使用的项目:

swipeListView.closeAnimate(position);
swipeListView.closeOpenedItems();

这是工作项目中的一些代码:

private BaseSwipeListViewListener albumsLIstener = new BaseSwipeListViewListener() {
@Override
public void onClickFrontView(int position) {
if (albumsListsView.isOpened(position)) {
albumsListsView.closeAnimate(position);
} else albumsListsView.openAnimate(position);
}

@Override
public void onClickBackView(int position) {
if (albumsListsView.isOpened(position)) {
albumsListsView.closeAnimate(position);
} else albumsListsView.openAnimate(position);
}
};

关于android - SwipeListView by 47degree : swipe first item programmatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19925881/

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