मैं fragmentTransaction.replace()
का उपयोग करके एक फ्रेम के साथ फ़्रेमलेआउट को प्रतिस्थापित करता हूं।एंड्रॉइड - fragmentTransaction.replace() समर्थन लाइब्रेरी पर काम नहीं करता है 25.1.0
लेआउट:
<FrameLayout
android:id="@+id/articlesAppender"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
गतिविधि के onCreate में बदलना:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
articlesFragment = (ArticlesFragment) fragmentManager.findFragmentByTag(ARTICLES_FRAGMENT_TAG);
if (articlesFragment == null) {
articlesFragment = new ArticlesFragment();
}
fragmentTransaction.replace(R.id.articlesAppender, articlesFragment, ARTICLES_FRAGMENT_TAG);
fragmentTransaction.commit();
ArticleFragment के onCreate:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.articles_fragment, container, false);
view.setVisibility(View.GONE);
return view;
}
लेकिन view.setVisibility(View.GONE);
समर्थन पुस्तकालय 25.1.0 पर काम नहीं कर रहा है। तो टुकड़ा अभी भी स्क्रीन पर प्रदर्शित किया जाएगा। यदि मैंने articlesAppender
से GONE
की दृश्यता सेट की है। , अभी भी नहीं काम करता है
<FrameLayout
android:id="@+id/articlesAppender"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
</FrameLayout>
फिर टुकड़ा स्क्रीन पर नहीं दिखाई देंगे, लेकिन जब मैं view.setVisibility(View.VISIBLE);
बाद में फोन करने की कोशिश यह: तो यह इस तरह दिखना चाहिए। खंड अभी भी दिखाई नहीं दे रहा है।
इसका मतलब है view
जो inflater.inflate(R.layout.articles_fragment, container, false);
द्वारा वापस किया गया है, खंड का असली दृश्य नहीं है। लेकिन यह समर्थन पुस्तकालय 25.0.1 पर पूरी तरह से काम करता है।
तो यह एंड्रॉइड की बग है?
आप टुकड़ा के साथ फ्रेम लेआउट को बदलने के लिए करना चाहते हैं? –
आप इस निष्कर्ष पर कैसे पहुंचे कि प्रतिस्थापन() विधि काम नहीं कर रही है? यदि आप फुफ्फुस दृश्य के बजाय उस खंड लेआउट में मुख्य रूट तत्व पर दृश्यता (View.GONE) सेट करने का प्रयास करते हैं, तो क्या यह अभी भी काम नहीं कर रहा है? – Gil
@ ऋषभमहाथा हां, मैं इसे बदलना चाहता हूं। @Gil क्योंकि यह समर्थन पुस्तकालय 25.0.1 पर काम करता है।और मैंने अपने प्रश्न में स्थिति का वर्णन किया है। मुझे लेख एपेंडर की दृश्यता सीधे सेट करना है। इसका मतलब है कि यह प्रतिस्थापित नहीं है। फुलाया दृश्य मूल तत्व है, इसलिए मैं इस दृश्य को 'onCreateView()' में वापस भेजता हूं। –