我有一个这样的清单,
List< Double> list_r = new ArrayList<Double>();
如何将此列表从一个活动传递给其他活动?
答案 0 :(得分:2)
如何将此列表从一个活动传递给其他活动?
然后将此列表静态化为:
public static List< Double> list_r = new ArrayList<Double>();
并在以下其他活动中访问此列表:
private List<Double> list_my = ClassName.list_r;
其中ClassName是您的Activity,其中包含(List&lt; Double&gt; list_r)。
但请确保我只是展示了传递列表的方法。但是通过使List static 即使你完成了对该arrayList的使用,它也会占用内存。
答案 1 :(得分:1)
您可以将double[]
与putExtra(String, double[])
和getDoubleArrayExtra(String)
一起使用。
或者您可以将ArrayList<Double>
与putExtra(String, Serializable)
和getSerializableExtra(String)
一起使用(ArrayList
部分很重要,因为它是Serializable
,但{{1}接口不是)。
答案 2 :(得分:0)
使用 intent.putExtra();
intent.putExtra("array_list", list_r );
答案 3 :(得分:0)
您可以使用bundle如何使用:creating bundle and sending over to new activity或在共享首选项中保存arrayList:http://www.vogella.com/tutorials/AndroidFileBasedPersistence/article.html
答案 4 :(得分:0)
intent.putExtra("list",list_r);
现在onCreate中的其他活动:
getIntent().getParcelableArrayListExtra("list");
答案 5 :(得分:0)
将double转换为string,并将其放入ArrayList中 在提供数据的Activity中,使用Intent#putExtra():
double double1 = 0.05;
double double2 = 0.02;
ArrayList <String []> list = new ArrayList <String[]>();
list.add (new String [] {String.valueOf(double_1),String.valueOf(double_2)});
Intent i = new Intent (this,YourTargetActivity.class);
i.putExtra("list", list);
startActivity(i);
然后要检索,使用Intent#getSerializableExtra()并强制转换为ArrayList:
ArrayList <String[]> list = (ArrayList<String[]>) getIntent().getSerializableExtra("list");
double double1 = Double.parseDouble(list.get(0)[0]) ;
double double1 = Double.parseDouble(list.get(0)[1]) ;