2015-06-18 14 views
15

Geridönüşümde çoklu öğe seçmek için projemde kitaplık geridönüşümgörüntüsü-multiselect kullanıyorum Samsung aygıtında: Bir öğeyi bastığımda ve seçerken multiselector başlar ama en kısa zamanda ben istisna ben recycleview-multiselect kullanıyordum gibi bu sadece om samsung cihazlarınıBoş nesne üzerinde void android.view.View.setTranslationZ (float) çağrılamıyor

JNI DETECTED ERROR IN APPLICATION: can't call void android.view.View.setTranslationZ(float) on null object 
in call to CallVoidMethodV 
from void android.animation.PropertyValuesHolder.nCallFloatMethod(java.lang.Object, long, float) 
"main" prio=5 tid=1 Runnable 
| group="main" sCount=0 dsCount=0 obj=0x86d99ef0 self=0xb4d07800 
| sysTid=28321 nice=0 cgrp=apps sched=0/0 handle=0xb6f9dec8 
| state=R schedstat=(1263638622 186444747 1521) utm=90 stm=36 core=1 HZ=100 
| stack=0xbe20a000-0xbe20c000 stackSize=8MB 
| held mutexes= "mutator lock"(shared held) 
native: #00 pc 00004c58 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23) 
native: #01 pc 000034c1 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8) 
native: #02 pc 002590fd /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+84) 
native: #03 pc 0023c5c3 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+162) 
native: #04 pc 000b2655 /system/lib/libart.so (art::JniAbort(char const*, char const*)+620) 
native: #05 pc 000b2d85 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+68) 
native: #06 pc 000b309f /system/lib/libart.so (art::ScopedCheck::CheckVirtualMethod(_jobject*, _jmethodID*)+438) 
native: #07 pc 000be40b /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+82) 
native: #08 pc 00068467 /system/lib/libandroid_runtime.so (???) 
native: #09 pc 00072005 /system/framework/arm/boot.oat (Java_android_animation_PropertyValuesHolder_nCallFloatMethod__Ljava_lang_Object_2JF+132) 
at android.animation.PropertyValuesHolder.nCallFloatMethod(Native method) 
at android.animation.PropertyValuesHolder.access$400(PropertyValuesHolder.java:38) 
at android.animation.PropertyValuesHolder$FloatPropertyValuesHolder.setAnimatedValue(PropertyValuesHolder.java:1296) 
at android.animation.ObjectAnimator.animateValue(ObjectAnimator.java:952) 
at android.animation.ValueAnimator.animationFrame(ValueAnimator.java:1207) 
at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1248) 
at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:659) 
at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:682) 
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777) 
at android.view.Choreographer.doCallbacks(Choreographer.java:590) 
at android.view.Choreographer.doFrame(Choreographer.java:559) 
+1

Düğmemdeki setStateListAnimator() öğesini çağırırken aynı çöküşü alıyorum. Samsung Galaxy S5'imde oluyor. – rrbrambley

+2

SetStateListAnimator (null) adını verdiğimizde aynı problemi yaşadık; Görünümde. – hellphil

+0

@hellphil Bunu denedim, hangi görünümde yaptınız recyclerview kullanıyorum? Başka önerileriniz var mı? – chin87

cevap

9

oluyor şu olsun son seçilen öğeyi seçimini olarak, sahip olduğu setSelectionModeStateListAnimator, setDefaultModeStateListAnimator, setSelectionModeBackgroundDrawable, setDefaultModeBackgroundDrawable seti SwappingHolder içinde sahibine benim süper çağrı sadece set ter:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     setSelectionModeStateListAnimator(null); 
     setDefaultModeStateListAnimator(null); 
    } 
    // Default selection mode background drawable is this 
    setSelectionModeBackgroundDrawable(null); 
    setDefaultModeBackgroundDrawable(null); 

Ve xml kendi seçiciler kullanılan bu kilitlenme çözmüştür.

+0

Lütfen seçmenlerinizin örnek kodlarını, nasıl göründüklerini ve belki de bunları nasıl uyguladığınızı yazınız. Bu yükselen Samsung Lollipop topluluğuna çok faydalı olacak. – AlleyOOP

+0

Aynı zamanda recycleview-multiselect'i kullanıyorum ve birkaç maddeye uzun süre tıkladıktan sonra bu oluyor. Emülatörde sorun olduğunu unutmayın. @ chin87, biraz daha bilgi verebilir misiniz lütfen? – WindRider

+0

@WindRider ViewHolder kullandınız mı? ViewHolders yapıcısında, süper aramadan sonra yukarıdaki kodu ekleyin – chin87

İlgili konular