将DoubleArray从一个活动的对象传递到另一个活动

时间:2012-07-25 01:12:04

标签: android bundle

我想将值从一个活动发送到另一个活动,但我在第二个活动中得到null请解决我的问题。第一个活动包含blog_info的详细信息 博客根据这些值发送到第二个活动,第二个活动搜索放置。

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);
            }
        });

我使用了一系列方法,例如:

bundle.putDoubleArray(key,value)

bundle.putSparseParcelableArray(key,value)

bundle.putParcelableArray(key,value)

bundle.putSerializable(key,value)

但我在第二项活动中得到'null'或'0.0'。

1 个答案:

答案 0 :(得分:1)

首先,在您发布的代码中,您正在放置一个双打列表的arraylist,然后将其转换为一个arraylist?扩展可分配。那些不是同一类型。

我假设您只想传递双打的列表(或数组)。您可以使用putDoubleArray()putSerializable()。如果你想处理一系列双打,你需要在double[]中使用你的双打,比如,

double[] doubles = ...; // whatever
bundle.putDoubleArray(key, doubles);

将它们从另一边拿出来,

double[] doubles = bundle.getDoubleArray(key);

如果您想在阵列列表中传递双打,则必须在ArrayList<? implements Serializable>中使用双打......例如ArrayList<Double>。像这样,

ArrayList<Double> doubles = ...; // whatever
bundle.putSerializable(key, doubles);

将它们从另一侧的捆绑中取出,

ArrayList<Double> doubles = (ArrayList<Double>)bundle.getSerializableExtra(key);