我知道我们可以使用方法putExtra()
和getExtra
方法将任何具有其值的对象传递给另一个活动。
但现在我想知道是否可以将数组传递给另一个Activity
?
或者,如果是,那么让我知道如何将数组传递给另一个Activity
?
感谢。
答案 0 :(得分:31)
Bundle b = new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);
接收
Bundle b = this.getIntent().getExtras();
String[] array=b.getStringArray(key);
答案 1 :(得分:3)
Bundle
类有许多putXxxxArray()方法。
如果您希望传递某种Object
,则应该查看Parcelable
界面,因为您的对象需要实现它。
答案 2 :(得分:2)
首先,您应该知道两个问题:
一种可能的方法可能是建立一个静态结构,您可以在其中存储数据并仅传递该数据的索引。使用此索引,新活动可以访问这些数据。希望这会有所帮助。
答案 3 :(得分:2)
请参阅this问题。基本上是:
Bundle b=new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);
要检索:
Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray(key);
答案 4 :(得分:2)
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putSerializable("bundle",Parceble Object);
intent.putExtra(String key, String[] values);
intent.putExtras(bundle);
对于不同类型的数组,请查看here。
日Thnx