2012-12-16 16 views
5

मेरी मुख्य गतिविधि में एक उद्देश्य को लोड करने या setContentView का उपयोग करने के बीच कोई अंतर है?अंतर और इरादा और सेटकंटेंटव्यू

public class MainActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    } 
} 

या यह बेहतर है? निश्चित नहीं है कि भिन्नता क्या है यदि वे दोनों लेआउट फ़ाइल लोड करते हैं?

public class MainActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Intent i = new Intent(MainActivity.this, CalculateTip.class); 
     startActivity(i); 
    } 
} 

उत्तर

6

अंतर यह है कि पहली तरह से आप एक नई गतिविधि नहीं बना रहे हैं, तो आप बस वर्तमान गतिविधि का लेआउट बदल रहे हैं। दूसरी तरफ, आप एक नई गतिविधि बना रहे हैं।

व्यावहारिक अंतर यह होगा कि नई गतिविधि शुरू करने के बाद दूसरे तरीके से आप बैक बटन दबा सकते हैं और पहले वापस ले जा सकते हैं। एक बार दूसरा लेआउट दिखाए जाने के बाद पहली बार जब आप बैक बटन दबाएंगे तो यह वर्तमान (केवल) गतिविधि को समाप्त कर देगा जो उपयोगकर्ता को आपके आवेदन में प्रवेश करने से पहले जो कुछ भी कर रहा था उसे वापस रखेगा।

जो विशेष रूप से आप पूरा करने की कोशिश कर रहे हैं, उसके बारे में और जानने के बिना "बेहतर" निर्धारित करना असंभव है।

+0

सही समझ में आता है यही कारण है। मेरे मामले में इसे एक इरादे के रूप में कॉल करने के लिए और अधिक समझदारी होगी क्योंकि बैक बटन उन्हें "डेस्कटॉप" दिखाने से पहले पृष्ठ पर वापस ले जाना चाहिए। धन्यवाद – stack

0

आशय गतिविधि से नई गतिविधि प्रारंभ के लिए है ...

setContentView लेआउट एक्सएमएल स्थापित करने के लिए

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