在我的项目中必须从本地数据库填充列表视图。我已经实现了它。当我单击列表项中的行时,我需要在下一个activity中显示列表行中的所有详细信息。我实现了自定义列表适配器.I尚未开始编写详细列表行的代码。如何将单行中的所有详细信息传递给另一个活动。任何人都可以帮助我吗?
答案 0 :(得分:0)
你可以做的一件事就是传递项目的id(PK)。然后在下一个活动中,您可以从数据库中再次获取它。
另一个选项是,您可以创建一个类,其中包含您要转发的所有数据作为类'成员并序列化对象并将其与意图一起发送。
这是一个例子
public class ActivityExtra implements Parcelable {
public Integer a=0;
public String b="";
private GameActivityExtra(Parcel in) {
this.a = in.readInt();
this.b = in.readString();
}
public GameActivityExtra() {
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(a);
dest.writeString(b);
}
public static final Parcelable.Creator<GameActivityExtra> CREATOR = new Parcelable.Creator<GameActivityExtra>() {
public GameActivityExtra createFromParcel(Parcel in) {
return new GameActivityExtra(in);
}
public GameActivityExtra[] newArray(int size) {
return new GameActivityExtra[size];
}
};
}
现在在您的活动中创建此类的实例。并使用intent.putextra(...)
来表达它。并在接收时获得相同的对象。
答案 1 :(得分:0)
您可以在自定义列表的文本视图标记中设置信息,并通过意图传递它们。
答案 2 :(得分:0)
使用@nitesh goel answer来制作你的对象类parcelabe。
然后onitemclick使用
intent.putExtra("object", object);
将您的对象发送到其他活动。
在相应的活动中使用
intent.getParcelableExtra("object");
获取你的对象。然后你可以获得该对象的所有内容。