我想将值从一个活动发送到另一个活动,但我在第二个活动中得到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'。
答案 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);