1
中的getTranslationY()方法的替代方法

预蜂巢版本中引发以下错误。在我的应用程序错误日志显示如下:Android

07-06 11:48:32.563: E/AndroidRuntime(433): java.lang.NoSuchMethodError: android.widget.TextView.getTranslationY 
07-06 11:48:32.563: E/AndroidRuntime(433): at com.quickreturntopanimation.AnimationFragment$2.onScroll(AnimationFragment.java:135) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.widget.AbsListView.invokeOnItemScrollListener(AbsListView.java:675) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:2956) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.widget.AbsListView.onTouchEvent(AbsListView.java:2065) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.widget.ListView.onTouchEvent(ListView.java:3315) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.View.dispatchTouchEvent(View.java:3766) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:897) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
07-06 11:48:32.563: E/AndroidRuntime(433): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671) 
07-06 11:48:32.563: E/AndroidRuntime(433): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.app.Activity.dispatchTouchEvent(Activity.java:2086) 
07-06 11:48:32.563: E/AndroidRuntime(433): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1655) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.view.ViewRoot.handleMessage(ViewRoot.java:1785) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.os.Looper.loop(Looper.java:123) 
07-06 11:48:32.563: E/AndroidRuntime(433): at android.app.ActivityThread.main(ActivityThread.java:4627) 
07-06 11:48:32.563: E/AndroidRuntime(433): at java.lang.reflect.Method.invokeNative(Native Method) 
07-06 11:48:32.563: E/AndroidRuntime(433): at java.lang.reflect.Method.invoke(Method.java:521) 
07-06 11:48:32.563: E/AndroidRuntime(433): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
07-06 11:48:32.563: E/AndroidRuntime(433): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
07-06 11:48:32.563: E/AndroidRuntime(433): at dalvik.system.NativeStart.main(Native Method) 

错误显示在这一行:

if(mQView.getTranslationY() != 0) { 

任何帮助表示赞赏.........提前

回答

0

感谢那函数在Honeycomb之前不存在,所以你不能调用它。你需要找到一种方法来做到这一点,而无需调用该函数。

+0

我需要translatedY位置。解决办法是什么? – RajeshVijayakumar

+1

这有什么替代? – RajeshVijayakumar

+0

我不认为有什么。它是版本11的新功能。您可以通过手动跟踪它自行复制它,但它可以通过一些工作来完成。或者根据应用程序的不同,您可能只能切割蜂窝设备前的此功能。 –

0

您可能想使用NineOldAndroid。据其文档

NineOldAndroid库包括几乎所有被引入了Android 3.0让您执行非常复杂的动画,在每个API级别的,新特性的兼容性的实现。

你可以在这里找到它 - >NineOldAndroid