#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) и меняем вьюху. Тогда не будет полной перерисовки всего списка.
Комментариев нет:
Отправить комментарий