【发布时间】:2012-10-03 17:08:48
【问题描述】:
我有一个 ListFragment,我用 ContentProvider 填充。
我需要为每个人附加一个手势监听器,这样当用户向右滑动时,该项目就会从列表中删除。
以下是我目前 ListFragment 中的所有内容。
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
String selection = l.getItemAtPosition(position).toString();
Toast.makeText(v.getContext(), selection + "", Toast.LENGTH_LONG).show();
Log.d("TodoListFragment", selection+ "");
}
如何附加手势检测和监听?
我做了一些研究,发现了这段代码:
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// right to left swipe
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Log.d("Swipe", "Left");
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Log.d("Swipe", "Right");
}
} catch (Exception e) {
// nothing
}
return false;
}
}
谁能告诉我如何实现它? (不是删除部分,只是实现)
【问题讨论】:
-
您可能希望检查:plus.google.com/113735310430199015092/posts/Fgo1p5uWZLu,因为这是 Google 员工在
ListView中实现滑动删除的一种方法。 -
@CommonsWare 我一定会尝试的。看起来很有希望:) 谢谢!
标签: android android-listfragment gesturedetector