传递数组列表<ImageItems>从一个活动到另一个活动.图像项包含位图和字符串
Pass a arraylist<ImageItems> from one activity to another.Image Item contains BITMAP and STRING
将数组列表从一个活动传递到另一个活动。图像项包含位图和字符串ImageItem包含BITMAP和STRING传递的数组列表包含多个ImageItems
退房http://developer.android.com/reference/android/os/Parcelable.html
ImageItems类应该实现parcelable,以便在活动之间传递它。
public class ImageItems implements Parcelable {
private String mYourString;
// Your BITMAP implementation.
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
// Break down your object here for storage into the parcel.
out.writeString(mYourString);
// Write your BITMAP to the parcel.
}
public static final Parcelable.Creator<ImageItems> CREATOR
= new Parcelable.Creator<ImageItems>() {
public ImageItems createFromParcel(Parcel in) {
return new ImageItems(in);
}
public ImageItems[] newArray(int size) {
return new ImageItems[size];
}
};
private ImageItems(Parcel in) {
// Rebuild your object from the parcel here.
mYourString = in.readString();
// Read your BITMAP from the parcel.
}
}
现在,您应该能够将可分割ImageItems的数组列表添加到您的intent bundle中。
intent.putParcelableArrayListExtra("Data", mArraylist);
希望这能有所帮助。
总的来说,这是个坏主意。你的活动应该尽可能地相互独立,以便能够灵活使用。
如果您绝对坚持,只需在活动类中使用公共静态变量,将它们设置为您的数据并访问其他活动。
通常,数据可以在第一个活动中使用putBundle()和在第二个"活动"中使用getBundle.()在活动之间传递。
但在这种自定义对象的情况下,应该使用实现Parcelable或Serializable的bundle。
序列化方式更容易实现。请参见下文。
使用以下代码从第一个活动传递arraylist。
List<ImageItem> imageItems = new ArrayList<ImageItem>();
imageItems.add(new ImageItem(//your parameters //));
imageItems.add(new ImageItem(//your parameters //));
imageItems.add(new ImageItem(//your parameters //));
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
bundle.putSerializable("data", (Serializable) imageItems);
startActivity(mIntent);
使用以下代码从第二个活动中获取arraylist。
Bundle bundle = getIntent().getExtras();
List<ImageItem> imageItems = new ArrayList<>(ImageItem);
imageItems = (List<ImageItem>) bundle.getSerializable("data");
希望这能有所帮助。当做
相关文章:
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 从另一个应用程序启动一个MobileFirst应用程序,并在活动启动后接收活动
- 点击侦听器如何调用另一个活动
- 传递数组列表<ImageItems>从一个活动到另一个活动.图像项包含位图和字符串
- 当单击另一个按钮时,jQuery重置活动按钮上的css
- 试图建立一个链接“;活动的”;当单击另一个链接时
- 如何在打开另一个弹出窗口时隐藏活动的弹出窗口
- 当另一个元素处于活动状态时,jQuery会更改该元素的css
- 在另一个带有引导的页面上设置活动幻灯片
- 在另一个新活动中显示追加函数
- 从另一个函数终止一个活动的javascript函数/循环
- 悬停保持活动状态,直到鼠标移到另一个悬停对象上
- 如何用另一个活动菜单突出显示另一个菜单
- 如何取消对活动元素上的click事件的绑定,并在单击另一个元素时重新绑定
- 我怎么能把一个特定的音频文件打开或关闭与复选框或切换按钮从一个活动到另一个在android
- 我不明白,存在于另一个对象中的Javascript对象有自己的活动
- 如何从第一个li-item中删除活动类,而另一个是使用JavaScript活动(!重要))
- 检查元素是否有活动的类,如果是,将类添加到另一个元素
- 通过另一个指令向元素动态添加指令属性,并使第一个'活动'
- 我想在使用jQuery/Javascript的另一个选项卡中上传过程完成后,在活动浏览器选项卡中获得通知