2012-08-09 19 views
13

द्वारा खंड नहीं मिल रहा है मैं समर्थन पैकेज v4 का उपयोग कर रहा हूं।टैग

mFragmentManager = getSupportFragmentManager(); 

FragmentTransaction ft = mFragmentManager.beginTransaction(); 
ft.add(R.id.fragContainer1, new ModelListFragment(), FRAG_MODEL_LIST); 
ft.add(R.id.fragContainer2, new TrimListFragment(), FRAG_TRIM_LIST); 
ft.commit(); 

Fragment fragment = mFragmentManager.findFragmentByTag(
      MainActivity.FRAG_MODEL_LIST); 
Log.d("MY", "found fragment: " + (fragment != null)); 

हमेशा "खंड पाया: झूठा" लौटाता है। मैं यहाँ कुछ वास्तव में स्पष्ट याद कर रहा हूँ, यह क्या है?

उत्तर

15

आप doc में देख सकते हैं:

प्रतिबद्ध तुरंत नहीं होता है; अगली बार थ्रेड तैयार होने पर इसे मुख्य थ्रेड पर के रूप में निर्धारित किया जाएगा।

यही कारण है कि आप प्रतिबद्धता के बाद बस अपना टुकड़ा नहीं देखते हैं()।

+14

और यदि आप _really_ लागू करने के लिए लेनदेन करना चाहते हैं, तो [executePendingTransactions] का उपयोग करें (http://developer.android.com/reference/android/app/FragmentManager.html#executePendingTransactions()) –