मैं WebView
सामग्री स्क्रॉल स्थिति के साथ एक समस्या का सामना करना पड़ रहा हूँ और यहाँ यह है: मैं पोर्ट्रेट मोड में कुछ हद तक पेज नीचे scolling कर रहा हूँ और जब मैं परिदृश्य के लिए ओरिएंटेशन बदलने स्क्रॉल ऊपर या नीचे चलता है। यह पोर्ट्रेट मोड में मौजूद सटीक सामग्री नहीं दिखाता है। मैंने मैनिफेस्ट फ़ाइल में configChanges="keyboardHidden|orientation|screenSize"
के रूप में परिवर्तन करने की कोशिश की लेकिन कोई भाग्य नहीं। मैंने ओवरराइड किया लेकिन यह काम नहीं किया। मैंने इस question में स्वीकार्य उत्तर लागू किया लेकिन इसका कोई उपयोग नहीं किया गया। क्या कोई सुझाव दे सकता है कि क्या किया जाना चाहिए और यह क्यों काम नहीं करता? यह Google नेक्सस टैब के लिए है और न्यूनतम आवश्यक एसडीके संस्करण 14 है। धन्यवाद।उन्मुखीकरण परिवर्तन पर एक ही सामग्री (Android) के लिए WebView स्थिति बहाल
उत्तर
देखें कक्षाएं एक onSaveInstanceState()
विधि है कि एक Parcelable
देता है, और राज्य को बहाल करने के लिए एक onRestoreInstanceState(Parcelable state)
विधि है। अगर मुझे सही याद है, तो सहेजे गए राज्य में स्क्रॉल स्थिति शामिल है। तुम सब करने की ज़रूरत है Parcelable बचाने आप अपने टुकड़ा के onSaveInstanceState
विधि में WebView के onSaveInstanceState()
के लिए एक कॉल से मिलता है:,
public void onSaveInstanceState(Bundle savedState) {
super.onSaveInstanceState(savedState);
WebView webView = (WebView) findViewById(...);
savedState.putParcelable("myKey", webView.onSaveInstanceState());
}
फिर अपने onCreateView
विधि में आपको लगता है कि राज्य को बहाल यदि उपलब्ध हो:
public View onCreateView (LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
...
if (savedInstanceState != null) {
WebView webView = (WebView) findViewById(...);
Parcelable savedState = savedInstanceState.getParcelable("myKey");
if (savedState != null) {
webView.onRestoreInstanceState(savedState);
}
}
....
}
पर SaveInstanceState का उपयोग करने के लिए स्क्रॉलव्यू और को पुनर्स्थापित करने के लिए RestoreInstanceState विधि में पुनर्स्थापित करने का प्रयास करें। यू एक्सएमएल thr scrollview इस्तेमाल किया है? यदि हाँ तो उस दृश्य का संदर्भ हो और जब गतिविधि बचाया state.Hope को scrollview की तो सेट स्थिति बहाल इस मदद करता है।
में पहुँच संरक्षित है कृपया मेरी टिप्पणी को देखो जब अभिविन्यास बदले यह निर्मित हो does not को TomTasche – Lavanya
मुझे अपने ऐप के साथ एक ही समस्या का सामना करना याद है। अगर मुझे गलत नहीं लगता है, तो फिल द्वारा सुझाया गया समाधान काम नहीं करता है (एंड्रॉइड के कुछ संस्करणों पर?)।
मैं अब निम्नलिखित दृष्टिकोण का उपयोग कर रहा:, outState.putInt(EXTRA_SCROLL_POSITION, webView.getScrollY());
savedInstanceState से पिछले स्क्रॉल स्थान प्राप्त है और एक सेट:
- onSaveInstanceState में WebView की वर्तमान पुस्तक स्थिति को बचाने के कस्टम WebViewClient:
setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); if (!scrolled) { postDelayed(new Runnable() { @Override public void run() { scrollBy(0, scroll); } }, 250); scrolled = true; } } });
यह नरक के रूप में बदसूरत है, लेकिन यह थोड़े लिए काम करता है मैं (यह वर्तमान ज़ूम-स्तर, आदि के लिए खाता नहीं है)। उस कोड के बारे में बहुत कुछ है जो आप सुधार सकते हैं, लेकिन यह मूल रूप से चाल करता है।
मेरे गतिविधि का जवाब।मैं SaveInstanceState का उपयोग कैसे करूं, जिसे केवल तब कहा जाता है जब यह किसी अन्य ऐप पर ध्यान केंद्रित करता है। चूंकि मेरी गतिविधि को पुनर्निर्मित नहीं किया गया है, इसलिए मैं ऑनस्टोर इंस्टेंसस्टेट का उपयोग भी नहीं कर सकता। @TomTasche – Lavanya
ओह, मैं देखता हूं। आप RestoreInstanceState के बजाय 'ऑन कॉन्फ़िगरेशन चेंज' का उपयोग कर सकते हैं, लेकिन मुझे नहीं पता कि आप SaveInstanceState पर क्या बदल सकते हैं। माफ़ कीजिये! – TomTasche
- 1. UITextField उन्मुखीकरण परिवर्तन पर कर्सर स्थिति परिवर्तन
- 2. एंड्रॉयड उन्मुखीकरण परिवर्तन पर राज्य को बचाने
- 3. सीधे एक WebView (Android)
- 4. फ्रैगमेंट्स अभिविन्यास पर स्थिति बहाल
- 5. लोडर उन्मुखीकरण परिवर्तन
- 6. Android Webview
- 7. अभिविन्यास परिवर्तन पर वेबव्यू सामग्री स्क्रॉल स्थिति बनाए रखें
- 8. एक विजेट पर उन्मुखीकरण परिवर्तन बटन के बाद
- 9. ActionBar क्षमता/अतिप्रवाह उन्मुखीकरण परिवर्तन
- 10. प्ले Android WebView,
- 11. Android WebView onReceivedError()
- 12. आप Android WebView
- 13. Android WebView, स्क्रॉलबार
- 14. @Android प्रदर्शन/res/WebView
- 15. Android WebView, जावास्क्रिप्ट सक्षम
- 16. प्रतिक्रिया देशी Android Webview संभाल
- 17. LeakCanary स्पॉट Android WebView, स्मृति
- 18. जावास्क्रिप्ट के साथ Android WebView + loadUrl + onPageFinished =
- 19. मजबूर उन्मुखीकरण परिवर्तन कभी कभी
- 20. Android WebView नीचे स्क्रॉल करें
- 21. ट्विटर बूटस्ट्रैप में Android WebView,
- 22. ट्विटर बूटस्ट्रैप: नेवबार उन्मुखीकरण परिवर्तन करना (केवल Android के शेयर ब्राउज़र के साथ)
- 23. Android WebView, पूरी तरह से उपयोगकर्ता सहभागिता
- 24. WebView का आकार परिवर्तन नहीं करता है
- 25. कैसे सबसे अच्छा फिर से बनाने के लिए मार्कर/पोलीलाइंस जब फोन (उन्मुखीकरण परिवर्तन)
- 26. Bootstrap3 glyphicons से कुछ phonegap Android WebView
- 27. UITableViewCell अंदर प्रोग्रामेटिक autolayout परिवर्तन केवल उन्मुखीकरण परिवर्तन
- 28. नहीं बुलाया LoaderCallbacks.onLoadFinished उन्मुखीकरण परिवर्तन AsyncTaskLoader रन
- 29. Android WebView, हार्डवेयर त्वरण मूर्ति समाधान
- 30. Android WebView रीडायरेक्ट में कुकीज़ खोना
कृपया टॉम टैश के उत्तर की टिप्पणी पर नज़र डालें। – Lavanya
आप तो टुकड़े का उपयोग नहीं कर रहे हैं नहीं, इस काम नहीं करेगा। यह आपके लिए एक बहुत बड़ी समस्या है, तो यह खर्च एक टुकड़ा आधारित संस्करण की कोशिश कर कुछ घंटों के लायक हो सकता है (क्या आप फिर भी गतिविधियों के अंदर टुकड़े करने के लिए आगे बढ़ जाना चाहिए, और समर्थन पुस्तकालय पश्च संगतता प्रदान करेगा)। – Phil
मैं सिर्फ यह कोशिश की, लेकिन लाइन 'savedState.putParcelable (" MyKey ", webView.onSaveInstanceState());' मुझे त्रुटि 'onSaveInstanceState (देता है) android.view.View' – primehalo