android listview 获取条数据,android – 如何获取listview中行的位置(在屏幕上)

博客讨论了在Android应用中实现手势检测以检测ListView行滑动的问题。作者已经编写了代码来检测滑动手势,并希望在滑动行的顶部显示包含相关选项的视图。遇到的问题是,当行不在屏幕可见范围内时,`getTop()`和`getBottom()`方法返回不准确的值。作者寻求解决方案来获取ListView顶部与滑动行之间的距离,以便正确定位覆盖视图。

我已经实现了一些手势检测代码,以便我可以检测我的listview中的行(位于FrameLayout中)何时被刷过.

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {

int itemId = MainActivity.this.getListView().pointToPosition((int) e1.getX(),(int) e1.getY());

Offer order = (Offer)MainActivity.this.getListView().getAdapter().getItem(itemId);

View v = MainActivity.this.getListView().getChildAt(itemId);

}

}

我想在滑动行的顶部显示一个视图,其中包含该行的一组上下文相关选项.

我的问题是以下方法:

v.getTop()

v.getBottom()

仅在滚动视图之前返回正确的值.我可以做一些计算来计算使用滚动位置等的偏移量,但我也注意到,当我刷开屏幕上可见的行时,我只获取值.如果我向下滚动列表然后滑动一行(原来不在屏幕外),则这些方法返回空值.

下面的方法似乎遇到了同样的问题……

v.getLocationOnScreen(loc)

v.getLocationInWindow(loc)

最后,我希望找到可见listView顶部与已刷过的行之间的距离.然后,我将使用此距离将父视图添加到具有适当高度填充的父FrameLayout(以便它覆盖滑动的行).

任何帮助将非常感激!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值