Switch करने पर Tab State बनाए रखना
हर tab की scroll position और state बनाए रखिए।
Switch करने पर Tab State बनाए रखना, CoddyKit पर Jetpack Compose Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Jetpack Compose Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Jetpack Compose Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
स्क्रॉल खोने की समस्या
डिफ़ॉल्ट रूप से किसी टैब से बाहर जाकर वापस आने पर वह शुरू से फिर बनता है, इसलिए आपकी स्क्रॉल स्थिति और इनपुट गायब हो जाते हैं। परेशान करने वाला है, है न? 😅
ऐसा क्यों होता है
साधारण navigate गंतव्य को बदल देता है, इसलिए Compose पुरानी स्क्रीन को भूल जाता है। स्थिति सुरक्षित रखने के लिए नेविगेशन को उसे save करने के लिए कहना होता है।
बाहर निकलते समय सुरक्षित करें
पुराने टैब को हटाते समय saveState जोड़ें, ताकि उसकी UI स्थिति फेंकने के बजाय सुरक्षित रखी जाए।
popUpTo(startRoute) {
saveState = true
}अंदर आते समय पुनर्स्थापित करें
टैब पर नेविगेट करते समय restoreState सेट करें, ताकि उसकी पहले से सुरक्षित स्थिति तुरंत वापस आ जाए।
navController.navigate(tab.route) {
restoreState = true
}तीन फ़्लैग का संयोजन
मिलकर saveState, restoreState और launchSingleTop वह सहज टैब-बदलाव व्यवहार देते हैं जिसकी उपयोगकर्ता अपेक्षा करते हैं।
popUpTo(start) { saveState = true }
launchSingleTop = true
restoreState = truerememberSaveable भी मदद करता है
स्क्रीन के अंदर के मानों के लिए rememberSaveable पुनर्निर्माण के दौरान टेक्स्ट फ़ील्ड जैसी चीज़ों को बनाए रखता है और नेविगेशन स्थिति को सुरक्षित रखने में सहायक होता है।
var query by rememberSaveable { mutableStateOf("") }सूचियों के लिए सुरक्षित स्क्रॉल आवश्यक है
जब आप rememberLazyListState का उपयोग करते हैं, तो LazyColumn अपनी स्क्रॉल स्थिति बनाए रखता है और सुरक्षित नेविगेशन स्थिति टैब से बाहर जाकर वापस आने के बाद भी उसे बनाए रखती है।
val listState = rememberLazyListState()
LazyColumn(state = listState) { /* ... */ }प्रारंभिक रूट पर ध्यान दें
हमेशा उसी प्रारंभिक गंतव्य id पर वापस जाएँ, ताकि सुरक्षित-स्थिति बंडल सही टैब से फिर जुड़ सकें।
popUpTo(navController.graph.findStartDestination().id)बदलकर जाँच करें
जाँच करें: एक टैब को स्क्रॉल करें, दूसरे पर जाएँ और फिर वापस लौटें। फ़्लैग सही होने पर स्क्रॉल ठीक वहीं होना चाहिए जहाँ आपने छोड़ा था।
कब पुनर्स्थापित न करें
कभी-कभी किसी टैब को खुलते ही नया डेटा लाना चाहिए, जैसे फ़ीड। तब उस रूट के लिए बस restoreState को छोड़ दें और उसे फिर से बनने दें।
एक स्क्रीन से आगे की स्थिति
जिस डेटा को टैब से भी अधिक समय तक जीवित रहना है, उसे साझा ViewModel में रखें, ताकि नेविगेशन फ़्लैग केवल UI संभालें, आपका वास्तविक डेटा नहीं।
त्वरित जाँच
आपने हर टैब को उसकी स्थिति बनाए रखना सिखाया। अब जाँच का समय है।
पुनरावृत्ति
आपने टैब की स्थिति बनाए रखी: saveState + restoreState + launchSingleTop स्क्रॉल और इनपुट को सुरक्षित रखते हैं, जबकि rememberSaveable स्क्रीन के अंदर के मानों की अतिरिक्त सुरक्षा करता है। सहज! ✨
एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Switch करने पर Tab State बनाए रखना” पाठ निःशुल्क है?
हाँ—“Switch करने पर Tab State बनाए रखना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Jetpack Compose Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Jetpack Compose Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Switch करने पर Tab State बनाए रखना” में मैं क्या सीखूँगा?
हर tab की scroll position और state बनाए रखिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Jetpack Compose Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Jetpack Compose Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Jetpack Compose Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Switch करने पर Tab State बनाए रखना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Jetpack Compose Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Jetpack Compose Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- कई tabs वाला NavigationBar
- चयनित Route को highlight करना
- Switch करने पर Tab State बनाए रखना
- TabRow और Swipeable Pages