【发布时间】:2011-11-07 15:05:26
【问题描述】:
我知道我们可以使用 putExtra() 和 getExtra 方法将任何对象及其值传递给另一个活动。
但现在我想知道是否可以将数组传递给另一个Activity?
或者,如果是,那么让我知道如何将数组传递给另一个 Activity ?
谢谢。
【问题讨论】:
标签: android android-layout android-emulator android-widget
我知道我们可以使用 putExtra() 和 getExtra 方法将任何对象及其值传递给另一个活动。
但现在我想知道是否可以将数组传递给另一个Activity?
或者,如果是,那么让我知道如何将数组传递给另一个 Activity ?
谢谢。
【问题讨论】:
标签: android android-layout android-emulator android-widget
首先,你应该知道两个问题:
一种可能的方法是拥有一个静态结构,您可以在其中存储您的数据,并且只传递该数据的索引。使用此索引,新活动可以访问这些数据。希望这会有所帮助。
【讨论】:
Bundle 类有很多 putXxxxArray() 方法。
如果您希望传递某种Object,您应该查看Parcelable 接口,因为您的对象需要实现它。
【讨论】:
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);
【讨论】:
请参阅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);
【讨论】:
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putSerializable("bundle",Parceble Object);
intent.putExtra(String key, String[] values);
intent.putExtras(bundle);
对于不同类型的数组看here。
谢谢
【讨论】: