我已经使用https://github.com/47deg/android-swipelistview设置了滑动列表视图。它确实提供了各种事件侦听器来处理与滑动相关的事件。
除了一件事,一切都完美无缺。
我只想更改滑动列表项的背景颜色。一旦它回来,它就会恢复。
我可以通过适配器的点击事件来做到这一点。我可以使用列表适配器来执行此操作,但由于我只想在向左滑动(侦听器)时更改背景,所以我不能使用适配器。因此,从适配器执行此操作可能不起作用。
以下听众为我工作 -
swipeListView.setSwipeListViewListener(new BaseSwipeListViewListener() {
@Override
public void onOpened(int position, boolean toRight) {
View v = swipeListView.getChildAt(position);
swipeListView.getChildAt(position).setBackgroundColor(Color.CYAN);
ci = u_items.get(position); // getter of list item data
Toast.makeText(getApplicationContext(), ci.getTitle().toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onClosed(int position, boolean fromRight) {
}
@Override
public void onListChanged() {
}
. // other listeners
.
.
.
.
.
这不会引发任何错误或警告,但我看不到背景被更改。Toast确实出现了,所以向左滑动监听器实际上正在工作。
也许,我在设置背景本身时做错了。不确定是什么。因为,swipelistview是扩展ListView的自定义视图,所以我无法想象如何仅从该侦听器执行此操作。
甚至,我可以使用 android 列表选择在 XML 文件中设置背景颜色,但它仅适用于点击侦听器。所以这个选项也被淘汰了。除此之外,其他一切都非常完美。
朝着正确的方向推进会很好。如果需要进一步分析任何代码,我可以编辑问题。