Mam w aplikacji zapętlona liste (Listview)
wartosc poczatkowa: 0
wartosc koncowa: 59
Jak index osiagnie wartosc 59, to przeskakuje do elementu 0 z animacja, ale nie cofa sie, tylko idzie do przodu.
Zmienna distance, jest wartoscia o ile elementow ma przeskoczyc do przodu lista.
current_index - aktualny index w liscie
value - index do ktorego ma przeskoczyc lista
listviewID.count - ilosc wszystkich elementow w liscie
Z tego co widze, problem jest z "if(value > current_value)". Jak lista dojdzie do wartosci 0, to glupieje(przewija sie tak szybko, ze ciezko zauwazyc, czy idzie do przodu, czy do tylu) i normuje sie dopiero w okolicy indeksu 5 i tak do elementu 0.
Nie wiem, czy w kodzie jest jakis glupi blad ktorego nie widze, czy moze to problem z lista. Jesli to bylby problem z lista, to jedyne co mi przychodzi do glowy, to animacja, ktora powoduje, ze index nie zdazy sie ustawic.
function setValue(value = 0)
{
var distance = 0
var current_value = modelID.get(listviewID.currentIndex).itemID
if(value < current_value)
{
distance = current_value - value
}
else
if(value > current_value)
{
for (var index = 0 ; index < listviewID.count ; index++)
{
if(value !== current_value)
{
console.log("if(value !== current_value): " + current_value)
distance++
current_value++
}
else
if(value === current_value)
{
break
}
}
}
else
{
distance = 0
}
console.log("distance: " + distance)
mainListView.animation_switch_item_height = mainListView.delegate_height
mainListView.animation_switch_item_value = distance
mainListView.animation_switch_item_running = true
}