2016-05-03 3 views
-1

Dies ist eine der Klasse, wo ich dem Element Daten zuweisen und einen Parameter zurück an die andere Klasse zurückgeben. Wie sollte ich es schreiben, um stattdessen zwei Parameter zurückzugeben? Für diesen Fall gibt es den Endpreis zurück, wie soll ich es schreiben, um den Endpreis und die Zwischensumme zurückzugeben?Wie übertrage ich zwei Parameter von einer Klasse in eine andere?

Dies ist die Quittung Aktivität, wo es eine Funktion gibt, um die Daten zu erhalten, die ich passiere.

+1

Sie Ihr eigenes Modell erstellen und dann den Wert von zwei, drei oder so viele einstellen können, wie Sie möchten attrib utes und dann kann einfach das Objekt passieren –

+0

Blick auf diese http://stackoverflow.com/questions/8557716/how-to-return-multiple-values-in-java –

+0

zurückgeben String-Array 'String []' mit Größe 2. – Bharatesh

Antwort

0

Sie können Ihre eigenen Objekt wie folgt

public class Result{ 
     public String finalPrice, subTotoal; 

    public Result(String st, String fp) { 
     this.subTotal= st; 
     this.finalPrice= fp; 
    } 

} 

Dann erstellen Sie Ergebnis Objekt statt

Result res = new Result (x, y); 
return res 
0

Sie können es zurück, wie Array, Objekt zurückgeben kann, oder Sie können ein erstellen modellieren und übergeben Sie das Modell als Parameter.

0

Angenommen, die beiden Rückgabewerte, die Sie möchten, sind der gleiche Datentyp, ist es am besten, Dinge nicht zu überdenken. Nur ein einfaches Array zurück:

double[] finalPrice = new double[2]; 
    finalPrice[0] = co.price; 
    finalPrice[1] = co.subtotal; 
    return finalPrice; 

oder wenn Sie es eine Zeichenfolge halten müssen:

String[] finalPrice = new String[2]; 
    finalPrice[0] = ""+co.price; 
    finalPrice[1] = ""+co.subtotal; 
    return finalPrice; 

Dies wäre die einfachste und effektivste Weg, um mehrere Werte zu handhaben zurück. Ihr Array zu verwenden ist auch einfach:

public void get_data (String[] c) 
{ 
shippingfeeTextView.setText("Shipping fee: " + c[0]+"subtotal: "+c[1]); 
} 

Wenn die Werte verschiedene Datentypen sind nur mit dem entsprechenden Feldern Getter/Setter, eine gekapselte Datenklasse erstellen und Konstruktor zurückgeben:

return new CustomContainer(myDouble, anInteger); 

Ihre get-Methode würde dann wie folgt aussehen:

public void get_data (CustomContainer c) 
{ 
shippingfeeTextView.setText("Shipping fee: " + c.getSalePrice()+"subtotal: "+c.getSubTotal()); 
} 
Verwandte Themen