часто вызывать notifyDataSetChanged()

у меня есть адаптер для моего списка, тогда мне нужно обновить его с помощью метода notifydatasetchanged в методе SensorChange. вы знаете, что метод SensorChange вызывался часто и быстро...

через некоторое время список на экране исчез, и метод getview остановился, больше не вызывался. когда я удаляю метод notifydatasetchanged, все было в порядке, но элемент списка не может обновляться. Зачем?

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

person dylan    schedule 13.11.2013    source источник


Ответы (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);
            }
person Biraj Zalavadia    schedule 13.11.2013
comment
Вы не можете повторно использовать Handler? - person Richard; 13.11.2013
comment
но теперь onItemClickListener списка не может работать, просто иногда работает. но если я удалю notifyDataSetChanged в методе SensorChange. это работает нормально. Как решить эту проблему ? - person dylan; 22.11.2013