2012-09-05 18 views
5

मैं किसी अन्य गतिविधि में परिवर्तनीय मान कैसे प्राप्त करूं? मेरे उदाहरण में मेरे पास एक स्ट्रिंग वेरिएबल आइटम है जो मूल्य स्पिनर चयनित मान है। इरादे का उपयोग किए बिना मैं इस चर को किसी अन्य गतिविधि में कैसे एक्सेस कर सकता हूं?मैं एक और गतिविधि में एक चर कैसे प्राप्त करूं?

public class LoginScreen extends Activity { 

     Spinner sp; 
String item; 


     Spinner sp = (Spinner) findViewById(R.id.lgnspinner); 

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.network_array, 
      android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    sp.setAdapter(adapter); 

    sp.setOnItemSelectedListener(new OnItemSelectedListener() { 

     public void onItemSelected(AdapterView<?> parent, View view, 
       int position, long id) { 
      item = (String) parent.getItemAtPosition(position); 



     public class AgAppMenu extends Activity { 
+0

संभावित डुप्लिकेट [एंड्रॉइड: वैश्विक चर घोषित कैसे करें?] (Http://stackoverflow.com/questions/708012/android-how-to-declare-global-variables)। 'गतिविधि' जीवन चक्र आपके नियंत्रण में नहीं है और आपको इसे नियंत्रित करने की कोशिश नहीं करनी चाहिए। जुड़े प्रश्न देखें। –

उत्तर

4

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

public String getMyString(){ 
    return item; 
} 

फिर अपने वर्तमान गतिविधि में आप कह सकते हैं:

String myValue = LoginScreen.getMyString(); 
+0

getMyString() को स्थिर घोषित किया जाना चाहिए अन्यथा इसे कभी भी एक्सेस नहीं कर सकता है। –

14

आप उन्हें स्थैतिक चर के रूप में घोषणा कर सकते हैं और फिर अपने दूसरे वर्ग में आप उन्हें Activity1.stringName तरह पहुँच सकते हैं।

public static String stringName; 

stringName = .. // value from Spinner 

फिर, अन्य सभी गतिविधियों में, तो आप उन्हें YourMainActivty.stringName पहुँच सकते हैं।

+0

दूसरी गतिविधि में कैसे acces? दूसरी गतिविधि में का उपयोग करने वाली दूसरी गतिविधि नहीं है LoginScreen.stringname शो त्रुटि –

+0

यह नहीं होना चाहिए। क्या आप कृपया उस कोड को संलग्न कर सकते हैं जिसका आप उपयोग कर रहे हैं? यह मुझे आपकी त्रुटि की पहचान करने में मदद करेगा। – Swayam

+0

यह विधि काम करता है। धन्यवाद। –

1

इसे आजमाएं।

चरण 1: आवेदन कक्षा में एक स्थिर बंडल वस्तु बनाएँ (ApplicationClass.java)

 public static Bundle mMyAppsBundle = new Bundle(): 

चरण 2:। कहीं से भी कि बंडल में

कुंजी मान सेट जोड़ी। इस तरह:

ApplicationClass.mMyAppsBundle.putString("key","value"); 

चरण 3:

अब आप इस तरह की तरह कहीं से भी इन मूल्यों को प्राप्त कर सकते हैं:

String str = ApplicationClass.mMyAppsBundle.getString("key"); 

देखने की सुरक्षा अंक के लिए बंडल वस्तुओं उपयोग करने से पहले अशक्त जांच लागू करें।

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