我有一个用于列表视图的适配器,然后我需要使用SensorChange方法中的notifydatasetchanged方法刷新它。您知道,SensorChange方法被频繁,快速地调用了...

片刻之后,屏幕上的列表视图被取消,并且getview方法停止,不再调用。当我删除notifydatasetchanged方法时,它很好,但是listview的项目无法刷新。为什么?

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

最佳答案

试试这个

Handler mHandler = new Handler();

        @Override
            public void onSensorChanged(SensorEvent evt) {

                mHandler.postDelayed(new Runnable() {

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

                    }
                }, 1500);
            }

10-08 16:13