我试图通过意图将可包裹对象从A活动传递到B活动:
Intent intent = new Intent (A.this, B.class);
intent.putExtra ("post", mypost); // where post implements Parcelable`
在B活动中,我通过以下方式获得post对象:
Post myPost = getIntent().getParcelableExtra("post");
在B活动中,myPost对象字段是混合的,例如,我在Post模型中有postText和postDate字段,B活动中此字段的值是混合的。
为什么会发生这种情况?我的模型类如下所示:
公共类Post实现了可包裹、可序列化{
private static final long serialVersionUID = 2L;
@SerializedName("author")
private User author;
@SerializedName("comments_count")
private String commentsCount;
@SerializedName("image")
private String imageToPost;
@SerializedName("parent_key")
private String parentKey;
@SerializedName("created_date")
private String postDate;
@SerializedName("id")
private String postId;
@SerializedName("text")
private String postText;
@SerializedName("title")
private String postTitle;
@SerializedName("shared_post_id")
private String sharedPostId;
@SerializedName("url")
private String urlToPost;
@SerializedName("video")
private String videoToPost;
public Post() {
}
public Post(Parcel in) {
author = (User) in.readValue(getClass().getClassLoader());
commentsCount = in.readString();
imageToPost = in.readString();
parentKey = in.readString();
postDate = in.readString();
postId = in.readString();
postText = in.readString();
postTitle = in.readString();
sharedPostId = in.readString();
urlToPost = in.readString();
videoToPost = in.readString();
}
public static final Creator<Post> CREATOR = new Creator<Post>() {
@Override
public Post createFromParcel(Parcel in) {
return new Post(in);
}
@Override
public Post[] newArray(int size) {
return new Post[size];
}
};
public User getAuthor() {
return author;
}
public void setAuthor(User author) {
this.author = author;
}
public String getPostDate() {
return postDate;
}
public void setPostDate(String postDate) {
this.postDate = postDate;
}
public String getPostTitle() {
return postTitle;
}
public void setPostTitle(String postTitle) {
this.postTitle = postTitle;
}
public String getPostText() {
return postText;
}
public void setPostText(String postText) {
this.postText = postText;
}
public String getPostId() {
return postId;
}
public void setPostId(String postId) {
this.postId = postId;
}
public String getUrlToPost() {
return urlToPost;
}
public void setUrlToPost(String urlToPost) {
this.urlToPost = urlToPost;
}
public String getImageToPost() {
return imageToPost;
}
public void setImageToPost(String imageToPost) {
this.imageToPost = imageToPost;
}
public String getVideoToPost() {
return videoToPost;
}
public void setVideoToPost(String videoToPost) {
this.videoToPost = videoToPost;
}
public String getParentKey() {
return parentKey;
}
public void setParentKey(String parentKey) {
this.parentKey = parentKey;
}
public String getCommentsCount() {
return commentsCount;
}
public void setCommentsCount(String commentsCount) {
this.commentsCount = commentsCount;
}
public String getSharedPostId() {
return sharedPostId;
}
public void setSharedPostId(String sharedPostId) {
this.sharedPostId = sharedPostId;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(author);
dest.writeString(commentsCount);
dest.writeString(imageToPost);
dest.writeString(parentKey);
dest.writeString(postDate);
dest.writeString(postId);
dest.writeString(postText);
dest.writeString(postTitle);
dest.writeString(sharedPostId);
dest.writeString(urlToPost);
dest.writeString(videoToPost);
}
}
添加描述内容和writeToParcel。
示例:
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeString(email);
dest.writeString(pass);
dest.writeFloat(amountPaid);
dest.writeString(url);
dest.writeInt(age);
}
问题内容: 我正在通过一个Intent传递一个int,但是我不知道如何接收它,因为我必须从OnCreate方法中接收一个intent,但是如果我将其放置在那里,则无法将其与其余代码中的另一个int进行比较:我在这里发送意图: 在这里,我收到它: 但是在onCreate方法之后,我必须这样做: 问题答案: 您需要获取在方法中传递的数据,而不是在声明中。 另外你不发送,正在发送中。所以,你需要得到从。
问题内容: 我正在尝试通过Ajax和jQuery将一些JSON格式的数据放入服务器。我的代码如下所示: 但是在服务器端,我收到一个字符串,而不是预期的JSON。萤火虫告诉我的也是一样。 错误在哪里? 问题答案: 我认为数据必须是字符串。对象将转换为查询字符串,这就是您在此处看到的内容。 您可以使用该方法将Object转换为String。JSON对象的代码可从以下网址获得:https : //git
问题内容: 我知道您可以通过意图传递String的数组列表,但是如果它是我定义的某些对象的数组列表,该怎么办?说一个Bicyles的数组列表,我该怎么做? 问题答案: 您可以使对象实现Parcelable并使用。另外,您可以以某种方式序列化对象,然后放置序列化对象的字节数组。
我在sdcard中的某个文件夹中有一些pdf文件。我创建了一个将所有pdf显示为ListView的应用程序。当我单击任何pdf文件时,它会在officeSuite应用程序(不支持或损坏文件格式)中出现错误。代码有问题。这是代码。 //显示为ListVIew的项目代码 //打开文件的代码VIA Intent 错误: 损坏或不支持的文件格式
我正在设计一个应用程序,我想在地图上显示具体的位置。我正在传递地址的,它已经放在上。以下是我的代码.. 但它给了我谷歌地图来获取方向。我知道为什么会这样,因为我在中使用了,但我不知道在特定位置使用什么..请告诉我在那里使用什么..
首先了解一下什么是URL简化,假如我们有一个博客系统,每个用户都有自己的主页,这个控制器是UserController,方法是index,每个用户都有一个唯一的编号,那么进入到id为123的用户主页,PATHINFO模式下需要键入的URL为http://YourDomain/User/index/id/123,这个路径能不能更短一些呢?答案是可以的。比如我想让这个路径变为http://YourDo