如何在函数中将两个参数从1个类传递到另一个?

时间:2016-05-03 05:36:27

标签: java android

这是我为项目分配数据的类之一,它将一个参数返回给另一个类。我应该怎么写它来返回两个参数呢?对于这种情况,它返回最终价格,我应该如何写它以返回最终价格和小计?

public static String Final_Price = " ";
public static String subtotal = " ";
protected String doInBackground(String... arg0) {
Final_Price = co.price;
subtotal = co.subtotal;
return Final_Price;
}
@Override
protected void onPostExecute(String result){

   String search = Final_Price;
    ((ReceiptActivity)activity).get_data(search);
}

这是收据活动,其中有一个函数来获取我传递的数据。

public void get_data (String c)
{
shippingfeeTextView.setText("Shipping fee: " + c);
}

4 个答案:

答案 0 :(得分:1)

如果您只想要两个参数,可以使用Pair。资料来源:http://developer.android.com/reference/android/util/Pair.html

答案 1 :(得分:0)

您可以像这样创建自己的自定义对象

public class Result{
        public String finalPrice, subTotoal;

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

}

然后您可以返回Result对象

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

答案 2 :(得分:0)

您可以将其作为数组,对象返回,也可以创建模型并将模型作为参数传递。

答案 3 :(得分:0)

假设您想要的两个返回值是相同的数据类型,那么最好不要过度思考。 只需返回一个简单的数组:

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

或者如果你需要保留一个字符串:

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

这是处理返回多个值的最简单,最有效的方法。 使用你的数组也很简单:

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

如果值是不同的数据类型,只需使用适当的字段,getter / setter创建一个封装的数据类,并返回它的构造函数:

return new CustomContainer(myDouble, anInteger);

你的get方法看起来像这样:

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