2017-01-24 4 views
0

Я просто пытаюсь создать анимацию для метода «добавить» в listview. Это работает отлично, но анимация также запускается путем удаления элемента из списка.ListView - анимация при добавлении новой строки

Так

insert to index 0 -> "item 1" -> animation 
insert to index 0 -> "item 2" -> animation 
insert to index 0 -> "item 3" -> animation 

результат

item 3 
item 2 
item 1 

и теперь я хочу, чтобы удалить "пункта 1", например ... и анимация конечно срабатывает по индексу 0 (пункт 3 -> начиная анимация)

Как узнать, что это метод удаления?

private static void blink(final View v) 
{ 
    Animation animation = new AlphaAnimation(0.0f, 1.0f); 
    animation.setDuration(300); 
    animation.setStartOffset(20); 
    animation.setRepeatMode(Animation.REVERSE); 
    animation.setRepeatCount(Animation.INFINITE); 
    v.setAnimation(animation); 

    new Thread(new Runnable() { 
     @Override 
     public void run() { 
      try { 
       Thread.sleep(1000); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
      v.setAnimation(null); 
     } 
    }).start(); 
} 

адаптер

@Override 
public View getView(int position, View convertView, @NonNull ViewGroup parent) 
{ 
    LayoutInflater inflater = LayoutInflater.from(getContext()); 
    View view = inflater.inflate(R.layout.alert_custom_row, parent, false); 

    if(position == 0) // HERE some like isNewRow()? 
     blink(view); 

    return view; 
} 

активность

adapter.insert("item", 0); 
adapter.notifyDataSetChanged(); 

Большое спасибо за помощь.

ответ

1

Без другого объекта «списка» с количеством элементов для сравнения getCount адаптера() Я бы точно не знал, как определить, добавляете или удаляете его.

Смежные вопросы