通过意图android传递数组

时间:2014-03-23 15:20:10

标签: android android-intent

我试图将Double和long数组从一个活动传递到另一个活动。我也传递了一个字符串。字符串成功通过但数组不是 - 它可能很简单,但我无法看到它。

我点击一个按钮,从一个活动移动到另一个活动,其代码如下:

                Intent intent = new Intent(stockDownload.this, StockDisplay.class);

                //need to find a way to access information referring to specific button - stock return and name
                ArrayList<Double> returnsforintent = (ArrayList<Double>) stockprices.get(view.getId());
                ArrayList<Long> errortrial = datesintent;
                Double[] returnstopass= returnsforintent.toArray(new Double[returnsforintent.size()]);
                Long[] datestopass = datesintent.toArray(new Long[datesintent.size()]);

                intent.putExtra(GRAPHRETURNS, returnstopass)
                ;

                intent.putExtra(GRAPHSTOCKS, stocks.get(view.getId()));
                intent.putExtra(GRAPHDATES, datestopass);
                startActivity(intent);

我使用以下命令接收数组和字符串:

            Bundle intent = getIntent().getExtras();


    double[] stockprice = intent.getDoubleArray(stockDownload.GRAPHRETURNS);
    long[] dates  = intent.getLongArray(stockDownload.GRAPHDATES);
    String stockname = intent.getString(stockDownload.GRAPHSTOCKS);

1 个答案:

答案 0 :(得分:0)

您可以使用。

1. void putDoubleArray(String, double[]) //for passing array
2. double [] getDoubleArray(String) //for retriving array

在Bundle类中。

在您的情况下,我认为double[] (原始类型为double)Double[] (对象数组)正在创建问题。( Long []和long []

相同

由于方法需要参数传递为double[]而不是Double[]