#android #java
Здравствуйте. Есть Adapter в котором в каждом item есть картинка, которая должна постоянно вращаться в зависимости от положения сенсора на устройстве. Положение картинки в item я меняю с помощью обновления адаптера, т.е. таким образом: private SensorEventListener eventListener = new SensorEventListener() { @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public void onSensorChanged(SensorEvent event) { adapter.angle = event.values[0]; adapter.notifyDataSetChanged(); } }; В зависимости от угла уже вращаю картинку. Это работает, но из-за того, что постоянно обновляется адаптер очень много раз приходится нажимать на item, чтобы сработал setOnItemClickListener. Есть у кого-нибудь какие-нибудь мысли как решить это?
Ответы
Ответ 1
notifyDataSetChanged() для всего списка, ради изменения 1 строки? Сначала чекаем getFirstVisiblePosition() и getLastVisiblePosition(), если все норм, то берём View с помощью getChildAt(int index) и меняем вьюху. Тогда не будет полной перерисовки всего списка.
Комментариев нет:
Отправить комментарий