2013-07-09 41 views
0

您好我正在開發小型Android應用程序,我想要做刷卡刪除列表行。爲此,我正在使用觸摸偵聽器查看視圖並使用某些動畫刪除行。一切工作正常,除了withendaction()方法沒有給出這種方法的錯誤。我知道它支持的API級別16以上,我根據我試圖在以下方面設置我需要API級別:動畫withendaction方法沒有這樣的方法錯誤android

private View.OnTouchListener mTouchListener = new View.OnTouchListener() { 

@Override 
public boolean onTouch(final View v, MotionEvent event) { 

    switch (event.getAction()) { 
    case MotionEvent.ACTION_DOWN: 

    break; 
    case MotionEvent.ACTION_CANCEL: 
    break; 
    case MotionEvent.ACTION_MOVE: 

    break; 
    case MotionEvent.ACTION_UP: 
    { 
      v.animate().setDuration(duration). 
        alpha(endAlpha).translationX(endX). 
        withEndAction(new Runnable() { 
         @Override 
         public void run() { 

         } 
        }); 


     } 
    } 
    break; 
    default: 
    return false; 
    } 
    return true; 
} 
}; 

我所有的動畫工作正常,但在withendaction方法點提示錯誤是no such a method 我做錯了什麼?需要幫忙。

謝謝。

+0

我認爲這在ViewProperty動畫http://developer.android.com/reference/android/view/ViewPropertyAnimator.html#withEndAction%28java.lang.Runnable%29的方法。您是否使用View animator的任何子類(ViewFlipper ...等) – vinaykumar

+0

謝謝您的重播。我的XML包含簡單的相對佈局與列表視圖和行視圖我使用簡單的圖像視圖和文本視圖。我正在使用自定義適配器來顯示我的列表視圖。那麼這是做這件事的正確方法,否則我必須做其他事情。需要幫忙 。謝謝。 – nilkash

回答

0

該呼叫從API級別15.支持所以,如果你想它在任何較早的SDK版本將拋出異常說

+0

嗨,先生,謝謝你的重播。我設置min sdk版本爲9,目標爲16,我在Android版本4.x的設備上運行此項目。那麼如何解決這個問題。需要幫忙。謝謝。 – nilkash

+1

由於您的min SDK版本是9,您應該爲此方法找到替代方法,因爲它不適用於運行API級別低於15的任何設備(如您已測試的設備)。請檢查它是否存在於支持庫中,或嘗試使用Google搜索替代方法:http://androiddev.orkitra.com/?p = 12771 – IncrediApp

+0

感謝您的幫助。任何替代方法,這意味着刷卡刪除行的​​列表,這將在舊版本也工作 – nilkash

1

如果你有想支持API 9設備,你不能使用View.animate()功能。

您必須使用舊的動畫框架,如AlphaAnimation

示例代碼褪色,在你的按鈕:

AlphaAnimation anim = new AlphaAnimation(0f, endAlpha); 
    anim.setDuration(duration); 

    anim.setAnimationListener(new AnimationListener() { 

     @Override 
     public void onAnimationStart(Animation animation) { 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 
     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      // Do stuff on animation end 
     } 
    }); 

    v.startAnimation(anim); 

如果你想讓它動畫視圖翻譯爲好,你需要使用TranslateAnimation

0

我想以添加另一個動畫這樣的.animate是:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) 

< API 12 

使用nineoldandroid庫

相關問題