试图在android中的两个活动之间传递长数组

时间:2014-09-15 09:51:58

标签: java android long-integer

我尝试通过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); 

谁能告诉我这里做错了什么?提前致谢

2 个答案:

答案 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的包装器。

因此尝试使用原语。希望这会有所帮助。