调用需要API级别16(当前最小值为14)withEndAction

时间:2017-01-11 15:06:31

标签: java android listview animation

我在列表视图上向OnItemClickListener()添加了animate方法,但是我收到了这个错误:

Call requires API level 16 (current min is 14): android.view.ViewPropertyAnimator#withEndAction

我知道在API级别16中添加了withEndAction方法,而旧设备没有它,但我想在我的API中使用此动画或类似这样。 我怎么能这样做?

listViewHome.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  final View view1 = view;
  final String item = (String) parent.getItemAtPosition(position);
  view.animate().setDuration(2000).alpha(0).withEndAction(new Runnable(){
       @Override
         public void run() {
             contacts.remove(item);
             adapter.notifyDataSetChanged();
             view1.setAlpha(1);
          }
         });
        }

1 个答案:

答案 0 :(得分:2)

您应该使用AnimatorListenerAdapter的监听器。例如......当然,SDK <16>=16

应该有不同的行为
.setListener(new AnimatorListenerAdapter() {
   @Override
     public void onAnimationEnd(Animator animation) {
         //code here
     }
   });