0

我想将值从一个活动发送到另一个活动,但我在第二个活动中得到空值,请解决我的问题。第一个活动包含 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(键,值)

bundle.putSparseParcelableArray(键,值)

bundle.putParcelableArray(键,值)

bundle.putSerializable(键,值)

但我只是在第二个活动中得到“null”或“0.0”。

4

1 回答 1

1

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

我假设您只想传递一个双打列表(或数组)。您可以使用putDoubleArray()putSerializable()。如果你想处理一个双打数组,你需要把你的双打放在 a 中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);
于 2012-07-25T01:26:57.203 回答