我试图将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);
答案 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[]