android listview带箭头,Android ListView中的箭头显示方向

该博客探讨了如何在Android中优化ListView的性能,特别是在传感器频繁改变时。通过设置一个时间间隔限制,避免过多的数据对象更新导致ListView的滞后。文章介绍了在适配器中保存每个列表项的状态,计算箭头的新角度,并使用lastUpdated变量来控制更新频率,确保在500毫秒内只更新一次,从而提高用户体验。
摘要由CSDN通过智能技术生成

让您的适配器在每个列表上保存所需信息的对象集合

项目,包括箭头旋转的浮点值.

public class Place {

private Srting name;

private double distance;

private float arrowAngle;

//-- etc etc--

覆盖适配器的getView(),设置箭头的旋转视图:

@Override

public View getView(View currentView, int position, ViewGroup parent){

//--inflate layout for each row, find views, set values etc etc--

Place p = getItem(position);

arrowView.setRotation(p.getArrowAngle());

//--return inflated view --

}

在传感器更改时,计算每个箭头的新角度,并更新适配器中的每个数据对象.

for (int i = 0 ; i < adapter.getCount(); i++){

Place p = adapter.getItem(i);

//--calculate angle--

p.setArrowAngle(newAngle);

}

adapter.notifyDataSetChanged();

但是传感器可能会变化非常快,并且ListView数据的更新过多会导致ListView滞后,限制更新,声明一个long变量lastUpdated,On传感器更改参见System.nanoTime() – lastupdated> 500,那么只能调用上面的更新代码.这将限制更新为500毫秒的间隔.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值