2015-12-22 8 views
8

का उपयोग कर स्क्रीन पर एक नेविगेशन पेज को अनुमति देता है नीचे दिए गए 2 कार्यान्वयन के बीच क्या अंतर है?एंड्रॉइड केवल

public App() 
    { 
     // The root page of your application 
     MainPage = new Views.MainPage(); 
    } 
public App() 
    {  
     MainPage = new NavigationPage(new MainPage()); 
    } 

अपने मुख्य पृष्ठ MasterDetailPage विरासत में अगर, 1 कोड ऊपर काम करेगा, लेकिन 2 एक त्रुटि संदेश वापस आ जाएगी मुझे बता कि "एंड्रॉयड केवल एक नेविगेशन पेज स्क्रीन पर एक समय में अनुमति देता है" जब मैं अपने Android एप्लिकेशन डिबग।

public class MainPage : MasterDetailPage 
    { 

     MasterPage masterPage; 
     public MainPage() 
     { 
      masterPage = new MasterPage(); 
      Master = masterPage; 
      Detail = new NavigationPage(new AnotherPage()); 

उत्तर

8

मैं थोड़ा तुम क्या कह रहे हैं से उलझन में हो सकता है, लेकिन आप

MainPage = new NavigationPage(new MainPage()); 

कर रहे हैं और अपने mainpage है

public class MainPage : MasterDetailPage 
{ 

    MasterPage masterPage; 
    public MainPage() 
    { 
     masterPage = new MasterPage(); 
     Master = masterPage; 
     Detail = new NavigationPage(new AnotherPage()); 

तो फिर तुम

NavigationPage कर रहे हैं > MasterDetailPage> नेविगेशन पेज

या तो मास्टरडैंच या नेविगेशन रूट होना चाहिए और उन्हें एक दूसरे के अंदर नहीं होना चाहिए। आपके पास एक दूसरे के भीतर 2 नेविगेशन पेज नहीं हो सकते हैं।

+0

आप सही समझ गए। सबसे पहले मैंने इस तरह कार्यान्वित किया था और मुझे यह त्रुटि संदेश मिल रहा था। मैंने मेनपेज = नए व्यू में बदल दिए जाने के बाद तय किया। मेनपेज(); जो वास्तव में एक ही सामग्री पृष्ठ पर रीडायरेक्ट कर रहा है लेकिन मुझे समझ में नहीं आया कि क्या अंतर है। आखिरकार दोनों मुख्य पृष्ठ पर नेविगेशन कर रहे हैं या नहीं? – batmaci

+1

आपके पास एक मास्टरवेंटल में विस्तार के रूप में एक नेविगेशन पेज हो सकता है या आप नेविगेशन पेज के अंदर मास्टरडैलमेंट प्राप्त कर सकते हैं, लेकिन आपके पास किसी भी स्तर पर नेविगेशन पेज के अंदर नेविगेशन पेज नहीं हो सकता है। यह एक एंड्रॉइड केवल प्रतिबंध है लेकिन अंत में इसे एक्समरिन फॉर्म प्रतिबंध बनाता है। –

+0

व्याख्या करने के लिए धन्यवाद। यह अब स्पष्ट है लेकिन इसका क्या अर्थ है? मेनपेज = नया व्यू। मेनपेज(); मुझे लगता है कि app.css WPF में app.xaml की तरह है, है ना? यदि यह हाँ है, तो इसका मतलब मेनपेज के लिए भी एक नेविगेशन नहीं है? – batmaci

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