2012-03-06 13 views
8

मैं बस सोच रहा हूँ किस तरह से वहाँ क्षण में ClassBएंड्रॉयड में एक अलग वर्ग के लिए के माध्यम से एक डबल मूल्य पासिंग जावा

को ClassA से दो या अधिक डबल मूल्यों पारित करने के लिए कर रहे हैं मैं कोड ने पाया है कि मुझे इस विधि देना :

double a, b; 
double a = 2.456; 
double b = 764.2353; 
Intent i = new Intent(); 
i.setClassName("com.b00348312.application","com.b00348312.application.ClassB"); 
double number = getIntent().getDoubleExtra("value1", a); 
double number = getIntent().getDoubleExtra("value2", b); 
startActivity(i); 

इस के माध्यम से मूल्यों में नहीं होता है और न ही मैं वर्ग का उदाहरण बनाकर लेकिन कोशिश कर नहीं कर सकते कि मैं करने लगते हैं की विधि सुझाव इन मूल्यों

यहाँ पर एक और सवाल पुन: प्राप्त करने का एक तरीका मिल सकता है मूल्यों को सही तरीके से पास करें।

मैं Android के लिए प्रोग्रामिंग कर रहा हूँ, इसलिए मैं अगर विधि अलग

उत्तर

19

आप वास्तव में अपने Intent

में अपने युगल रखने नहीं कर रहे हैं: आप उपयोग करने की आवश्यकता 210
Intent yourInent = new Intent(thisActivity.this, nextActivity.class); 
Bundle b = new Bundle(); 
b.putDouble("key", doubleVal); 
yourIntent.putExtras(b); 
startActivity(yourIntent); 

फिर, उसे अपने अगले गतिविधि में मिलता है:

Bundle b = getIntent().getExtras(); 
double result = b.getDouble("key"); 
+0

की तरह कुछ की जरूरत से कोशिश कर सकते हैं धन्यवाद । वह वास्तव में मदद करता है। मैंने सोचा कि वास्तव में मूल्यों को डालने में कोई समस्या थी, लेकिन मुझे नहीं पता था कि मुझे इसे रखने के लिए किस कोड को रखना है। क्या कोई अलग कोड है यदि मैं एक इंट या फ्लोट पास करना चाहता था या chaning के रूप में सरल .पुट डबल .putInteger –

+0

धन्यवाद। वह वास्तव में मदद करता है। मैंने सोचा कि वास्तव में मूल्यों को डालने में कोई समस्या थी, लेकिन मुझे नहीं पता था कि मुझे इसे रखने के लिए किस कोड को रखना है। अगर मैं फ्लोट या इंट पास करना चाहता हूं तो क्या बहुत अलग है। –

+0

एनपी। आप उसी तरह एक फ्लोट या int पास करेंगे। [बंडल] के लिए देव डॉक्स (http://developer.android.com/reference/android/os/Bundle.html) आपकी मदद करनी चाहिए। – bschultz

0

यह क्रियाएँ के बीच जानकारी भेजने के लिए लगभग सही तकनीक है हो जाएगा पता नहीं है। इन मूल्यों तुम इतनी तरह प्राप्त गतिविधि अंत पर अतिरिक्त नक्शे से बाहर निकलने के लिए उन्हें खींच करने की आवश्यकता का उपयोग करने के

i.putDouble("value1", a); 
i.putDouble("value2", b); 

:: तुम कितने तरह putDouble() विधि का प्रयोग करना होगा

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main2); 
    Intent intent=getIntent(); 
    double a=intent.getExtras().getDouble("value1"); 
    double b=intent.getExtras().getDouble("value2"); 
0

i.putExtra("number1", number1); 
i.putExtra("number2", number1); 
2

आप इस तरह से

double a, b; 
Intent i = new Intent(classA.this, classB.class); 

Bundle params = new Bundle(); 
params.putDouble("doubleA", a); 
params.putDouble("doubleB", b); 
i.putExtras(params); 
startActivity(i); 

दूसरे पक्ष पर आप इस

double a, b; 
// Get Params from intent 
Intent it = getIntent();   
if (it != null) 
{ 
    Bundle params = it.getExtras(); 
    if (params != null) 
    { 
     a = params.getDouble("doubleA"); 
     b = params.getDouble("doubleB");    
    } 
} 
संबंधित मुद्दे