5

मैं इस तरह जोड़ सकते हैं और टुकड़े निकालें:निकालें टुकड़ा दुर्घटना

जोड़ें

getSherlockActivity().getSupportFragmentManager() 
           .beginTransaction() 
           .setCustomAnimations(R.anim.slide_in_bottom, R.anim.slide_out_top, R.anim.slide_in_top, R.anim.slide_out_bottom) 
           .add(R.id.fragment_explore, fragment) 
           .addToBackStack(null) 
           .commit(); 
ActivityMain.BACKSTACK_EXPLORE.add(fragment); 

निकालें

Fragment depopFragment = BACKSTACK_EXPLORE.get(BACKSTACK_EXPLORE.size() - 1); 
        getSupportFragmentManager().beginTransaction() 
               .setCustomAnimations(R.anim.slide_in_top, R.anim.slide_out_bottom, R.anim.slide_in_bottom, R.anim.slide_out_top) 
               .remove(depopFragment) 
               .commit(); 
        BACKSTACK_EXPLORE.remove(depopFragment); 

वहाँ एक तेजी से स्लाइड एनीमेशन है। टुकड़ा नीचे से आता है और नीचे नीचे चला जाता है।

मेरी समस्या तब होती है जब आप बैक बटन दबाते हैं (खंड को छोड़ दें) और एनीमेशन समाप्त होने से पहले आप पीछे दिखाई देने वाली गतिविधि को स्पर्श करते हैं।

यह मुझे एक सरल घातक संकेत 11 त्रुटि (सैमसंग गैलेक्सी S3 पर अधिक बार) देता है

किसी भी विचार?

+0

शायद आपकी समस्या से संबंधित नहीं है, लेकिन टुकड़े (जो दुकान प्रसंग) एक स्थिर कंटेनर में रखते हुए बुरा व्यवहार है। यह संदर्भ रिसाव का कारण बन सकता है। – Dmide

+0

प्रतिशोध: यह केवल सैमसंग गैलेक्सी एस 3 (एंड्रॉइड 4.3) पर होता है, कभी भी नेक्सस 4 (एंड्रॉइड 4.4) पर नहीं होता है। यह केवल तब होता है जब टुकड़े को हटाते हैं। केवल अगर मैं "खंड 1 पीछे" पर क्लिक करता हूं, जबकि "खंड 2 ऊपर" की निकासी एनीमेशन अभी भी चल रहा है –

उत्तर

8

मैं इसका समाधान नहीं होता है, यह onCreateAnimation() है कि मैं पता करने के लिए जब एनीमेशन

view.setLayerType(LAYER_TYPE_NONE, null); 

समाप्त हो गया था इस लाइन दुर्घटना कर रहा था इस्तेमाल किया से संबंधित था। यह हार्डवेयर त्वरण से संबंधित प्रतीत हो रहा है और एंड्रॉयड 4.3

पर सबसे अधिक संभावना केवल इस लिंक को देख: Disable hardware acceleration, backward compatibility

संबंधित मुद्दे