2017-01-24 12 views
0

私はlistviewの "add"メソッドのアニメーションを作成しようとしています。これは非常に効果的ですが、アニメーションはリストビューから項目を削除することによってもトリガーされます。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(); 

おかげで私を助けるために多くの。私はあなたが追加または削除しているかどうかを把握するために正確にどのように知ることはできませんアダプタの同様にgetCountを(比較する項目の数を持つ別の「リスト」オブジェクト)なし

答えて

関連する問題