2014-12-14 2 views
1

Я пытаюсь реализовать пользовательские FastScrollListener, который работает отлично на любой платформе, кроме Android Lollipop где его сбой на следующей строке:NoSuchFieldException: mFastScroller на андроид леденец

final Field fastScrollerField = AbsListView.class.getDeclaredField("mFastScroller"); 

говоря:

12-14 16:46:29.034: E/AndroidRuntime(29702): Caused by: java.lang.NoSuchFieldException: mFastScroller 
12-14 16:46:29.034: E/AndroidRuntime(29702): at java.lang.Class.getDeclaredField(Class.java:886) 

Может ли кто-нибудь посоветовать мне об исправлении для Android Lollipop.

+0

«, который работает нормально на всех платформах, кроме Android Lollipop ", а также за исключением любого устройства, в котором производитель или ROM-модем изменил' AbsListView', чтобы больше не было 'mFastScroller', или изменить его тип данных и т. д. Не полагайтесь на внутреннюю реализацию. – CommonsWare

+0

Итак, исправление не должно полагаться на внутреннюю реализацию, то как я могу это сделать? –

+0

Поскольку 'FastScrollListener' также не является частью Android SDK, вы просто не делаете« это »вообще. Я понятия не имею, какую конкретную деловую проблему вы пытаетесь решить, я не имею никаких советов о том, как решить эту деловую проблему, не прибегая к ненадежным методам. – CommonsWare

ответ

0

Найдено решение сравнит AbsListView леденцов с предыдущими версиями и обнаружил ключевое слово/имя для получения объявленного Фейлда изменяются на mFastScroll из mFastScroller ...