【发布时间】:2014-03-28 05:13:05
【问题描述】:
我正在处理项目并从WCF services 获取数据并制作ArrayList,一切正常。我成功地从服务中获取数据。现在我想要的是通过 Intent 将 ArrayList 传递给另一个 Activity。基本上我知道如何发送 string 和 int。值,但我不知道如何通过 Intent 传递 ArrayList。我进行了很多搜索并尝试发送ArrayList through Intent Using Parcelable。但现在我收到 NullPointerException。有人可以帮助解决我的问题。或者让我知道我做的是正确的还是有其他方法可以做到这一点?提前致谢
**HOW I TRIED**
测验.java
public class Quiz implements Parcelable{
private String id;
private String quiz_code;
private String question;
private String choice_A;
private String choice_B;
private String choice_C;
private String choice_D;
private String ans;
private String quiz_title;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getQuiz_code() {
return quiz_code;
}
public void setQuiz_code(String quiz_code) {
this.quiz_code = quiz_code;
}
public String getQuestion() {
return question;
}
public void setQuestion(String question) {
this.question = question;
}
public String getChoice_A() {
return choice_A;
}
public void setChoice_A(String choice_A) {
this.choice_A = choice_A;
}
public String getChoice_B() {
return choice_B;
}
public void setChoice_B(String choice_B) {
this.choice_B = choice_B;
}
public String getChoice_C() {
return choice_C;
}
public void setChoice_C(String choice_C) {
this.choice_C = choice_C;
}
public String getChoice_D() {
return choice_D;
}
public void setChoice_D(String choice_D) {
this.choice_D = choice_D;
}
public String getAns() {
return ans;
}
public void setAns(String ans) {
this.ans = ans;
}
public String getQuiz_title() {
return quiz_title;
}
public void setQuiz_title(String quiz_title) {
this.quiz_title = quiz_title;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return this.hashCode();
}
public Quiz(){
}
public Quiz(Parcel source) {
id = source.readString();
ans = source.readString();
quiz_title = source.readString();
choice_A = source.readString();
choice_B = source.readString();
choice_C = source.readString();
choice_D = source.readString();
quiz_code = source.readString();
question = source.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
dest.writeString(id);
dest.writeString(ans);
dest.writeString(quiz_title);
dest.writeString(quiz_code);
dest.writeString(question);
dest.writeString(choice_A);
dest.writeString(choice_B);
dest.writeString(choice_C);
dest.writeString(choice_D);
}
public static final Parcelable.Creator CREATOR
= new Parcelable.Creator() {
public Quiz createFromParcel(Parcel in) {
return new Quiz(in);
}
public Quiz[] newArray(int size) {
return new Quiz[size];
}
};
}
通过 Intent 将 ArrayList 发送到另一个 Activity:
MainActivity:
in = new Intent(GettingQuizTitleActivity.this,TestActivity.class);
in.putParcelableArrayListExtra("key", quizList);
startActivity(in);
我如何尝试接收 ArrayList
第二个活动:
try{
Intent intent = null;
ArrayList<Quiz> test = (ArrayList<Quiz>) intent.<Quiz>getParcelableArrayListExtra("key");
}
catch(Exception e){
e.printStackTrace();
}
【问题讨论】:
-
使用意图=getIntent();在第二个活动中
-
谢谢 raju.. 我明白了。
标签: android arraylist nullpointerexception parcelable