经常调用notifyDataSetChanged()

时间:2013-11-13 03:16:12

标签: android notifydatasetchanged

我的listview有一个适配器,然后我需要使用SensorChange方法中的notifydatasetchanged方法刷新它。你经常快速调用SensorChange meodthod ......

过了一会儿,屏幕上的列表视图被取消了,getview方法停止了,不再调用了。当我删除notifydatasetchanged方法,它很好,但listview的项目无法刷新。为什么呢?

@Override
public void onSensorChanged(SensorEvent evt) {if(mPoiListAdapter != null){
        mPoiListAdapter.notifyDataSetChanged();
    }
}

1 个答案:

答案 0 :(得分:1)

试试这种方式

Handler mHandler = new Handler();

        @Override
            public void onSensorChanged(SensorEvent evt) {

                mHandler.postDelayed(new Runnable() {

                    @Override
                    public void run() {
                        if (mPoiListAdapter != null) {
                            mPoiListAdapter.notifyDataSetChanged();
                        }

                    }
                }, 1500);
            }