[英]parcelable class for nameValuePair?
我想將ArrayList<NameValuePair> nameValuePairs
一個活動傳遞給另一個活動。 我為此寫了parcelable class
。
Parcelable Class:
/**Getters/Setters have been removed to make reading easier*//
public class BasicNameValuePair implements Parcelable {
private String name;
private String value;
public BasicNameValuePair(String name, String value){
this.name = name;
this.value = value;
}
protected BasicNameValuePair(Parcel in) {
name = in.readString();
value = in.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeString(value);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<BasicNameValuePair> CREATOR = new Creator<BasicNameValuePair>() {
@Override
public BasicNameValuePair createFromParcel(Parcel in) {
return new BasicNameValuePair(in);
}
@Override
public BasicNameValuePair[] newArray(int size) {
return new BasicNameValuePair[size];
}
};
}
我的第一個發送數據的活動是:
ArrayList<com.example.ss.myapplication.BasicNameValuePair> nameValuePairs;
nameValuePairs = new ArrayList<com.example.ss.myapplication.BasicNameValuePair>();
nameValuePairs.add(new com.example.ss.myapplication.BasicNameValuePair("name",value));
nameValuePairs.add(new com.example.ss.myapplication.BasicNameValuePair("name1", value1));
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
intent.putParcelableArrayListExtra("extraextra", nameValuePairs);
startActivity(intent);
在我的第二個活動中,獲得nameValuePair
ArrayList<com.example.ss.myapplication.BasicNameValuePair> testing = this.getIntent().getParcelableArrayListExtra("extraextra");
for (com.example.ss.myapplication.BasicNameValuePair n : testing) {
String name = n.getName();
String value = n.getValue();
System.out.print("name" + name + "value:" + value);
}
但是,當我要添加數據nameValuePairs時出現錯誤。
BasicNameValuePair(android.os.Parcel) in BasicNameValuePair cannot be applied to (java.lang.String, java.lang.String)
我應該如何更改BasicNameValuePair類?
您沒有getname
和getvalue
public class BasicNameValuePair implements Parcelable {
private String name;
private String value;
public String getName() {
return name;
}
public String getValue() {
return value;
}
********************* etc*****************
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.