我尝试通过bundle在两个活动之间传递longArray。我有一个名为“sensIds”的longArray,但是当我在bundle.pulongArray中传递这个数组时,它给出了一个错误“Bundle类型中的方法putLongArray(String,long [])不适用于参数(String,Long [ ])”。 这是我的代码:
Long[] sens_ids = new Long[getSym.length];
for (int i = 0; i < getSym.length; i++) {
sens_checked_ids[i] = Long.valueOf(getSym[i]);
}
Bundle mybundle = new Bundle();
mybundle.putLongArray("sens ids", sens_ids);
Intent final_intent = new Intent(DetailActivity.this,FinalActivity.class);
final_intent.putExtras(mybundle);
startActivity(final_intent);
谁能告诉我这里做错了什么?提前致谢
答案 0 :(得分:1)
参数类型在这一行中是不同的(mybundle.putLongArray(&#34; sens ids&#34;,sens_ids))它期望原始数据类型,但是你正在传递Wrapper类
long[] sens_ids = new long[getSym.length];
for (int i = 0; i < getSym.length; i++) {
sens_checked_ids[i] = Long.valueOf(getSym[i]);
}
Bundle mybundle = new Bundle();
mybundle.putLongArray("sens ids", sens_ids);
Intent final_intent = new Intent(DetailActivity.this,FinalActivity.class);
final_intent.putExtras(mybundle);
startActivity(final_intent);
答案 1 :(得分:1)
来自 Google文档:
Long是基本类型long的包装器。
因此尝试使用原语。希望这会有所帮助。