2012-07-25 91 views
0

如何解决此故障。以及如何从'for(Blog blog:blogList)'获取数据的数据。 你能告诉我,我的代码中有哪个错误? //方法putDoubleArray(字符串,双[])在类型包是不适用的参数(字符串,双[])Bundle类型中的方法putDoublArray(String,double [])不适用于参数(String,Double [])

final ArrayList<Blog> blogList = (ArrayList<Blog>) message 
       .getResultList("Blog"); 
     for (Blog blog : blogList) { 
      int i=0; 
       latitude_Array[i] = Double.parseDouble(blog.getLatitude_zzs()); 
       longitude_Array[i]=Double.parseDouble(blog.getLongitude_zzs()); 
       i++; 
     } 
     btn = (Button) findViewById(R.id.main_top_map_list); 
     btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(MainActivity.this, 
          MainActivity_MapList.class); 
        //The method putDoubleArray(String, double[]) in the type Bundle is not applicable for the arguments (String, Double[]) 
        bundle.putDoubleArray("latitude_Array", latitude_Array); 

        // intent.putExtras(bundle); 
        finish(); 
        startActivity(intent); 
      } 
     }); 

回答

2

这只是错误信息说什么。显然,您的latitude_Array变量被声明为Double []。一种解决方法是声明latitude_Array(也可能是longitude_Arraydouble []而不是Double [])(情况一如既往很重要。Double是一个对象,其中包含原始值double它主要用于集合,不能抱元。)

如果您确实需要他们Double []型的,那么你就必须到值超过堆砌成一个Bundle之前复制到一个基本数组。

+0

虽然有方法' Bundle.putIntegerArrayList(String key,ArrayList value)',没有等价的方法来处理'ArrayList '。 – 2012-07-25 03:15:38

+0

如何将'for(Blog blog:blogList)'的纬度复制到latitude_Array。我使用中断点,在'latitude_Array [i]'goto catch。 – jpa2012 2012-07-25 03:43:08

+0

@ jpa2012 - 'Double.parseDouble(String)'返回一个原始的'double'值。如果你声明'latitude_Array'的类型是'double []',那么你发布的代码根本不需要改变。 (目前,它将原始'double'自动装箱成'Double'。) – 2012-07-25 04:16:30

相关问题