Android реализует объекты Parcelable с хэш-картой, которая содержит другую хэш-картуJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Android реализует объекты Parcelable с хэш-картой, которая содержит другую хэш-карту

Сообщение Anonymous »

Это расширение для Android, реализующее объект Parcelable, который имеет хэш-карту, но мой немного отличается.

У меня есть эти классы

Код: Выделить всё

public class EventDetails implements Parcelable {
Private String id;
Private String eventName;
Private Long eventUnixTime;
Private HashMap  pickedUser = null;
}
и

Код: Выделить всё

public class User implements Parcelable {
private String email;
private String userName;
private String userPicture;
private Boolean hasLoggedInWithPassword;
private HashMap dateJoined = null;

public User() {

}

public User(String email, String userName, String userPicture, Boolean hasLoggedInWithPassword, HashMap dateJoined) {
this.email = email;
this.userName = userName;
this.userPicture = userPicture;
this.hasLoggedInWithPassword = hasLoggedInWithPassword;
this.dateJoined = dateJoined;
}

protected User(Parcel in) {
email = in.readString();
userName = in.readString();
userPicture = in.readString();

int size = in.readInt();
for (int i = 0; i < size; i++) {
String key = in.readString();
Object value = in.readString();
dateJoined.put(key, value);
}
}

public static final Creator CREATOR = new Creator() {
@Override
public User createFromParcel(Parcel in) {
return new User(in);
}

@Override
public User[] newArray(int size) {
return new User[size];
}
};

public String getEmail() {
return email;
}

public String getUserName() {
return userName;
}

public String getUserPicture() {
return userPicture;
}

public Boolean getHasLoggedInWithPassword() {
return hasLoggedInWithPassword;
}

public HashMap getDateJoined() {
return dateJoined;
}

@Override
public int describeContents() {
Log.i("describeUser", "describe content from User.java");

return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {

Log.i("write to Parcel", "write to Parcel from User.java");
dest.writeString(email);
dest.writeString(userName);
dest.writeString(userPicture);
dest.writeInt(hasLoggedInWithPassword ? 1:0);

dest.writeInt(dateJoined.size());
for (HashMap.Entry entry : dateJoined.entrySet()) {
dest.writeString(entry.getKey());
dest.writeString(String.valueOf(entry.getValue()));
}
}
}
Я застрял в этих методах класса EventDetails:

Код: Выделить всё

protected EventDetails(Parcel in) {
id = in.readString();
eventName = in.readString();
eventUnixTime = in.readLong();

final int size = in.readInt();
for (int i = 0; i < size; i++) {
String key = in.readString();
User user = in.readHashMap(userMap);
pickedFriendsHashMap.put(key, user);
}
}

@Override
public void writeToParcel(Parcel dest, int flags) {

dest.writeInt(pickedFriendsHashMap.size());

for (HashMap.Entry entry :    pickedFriendsHashMap.entrySet()) {
dest.writeString(entry.getKey());

dest.writeInt(listLength);

for (User user: userList) {
dest.writeParcelable(user, 0);
}
}

dest.writeString(id);
dest.writeString(eventName);
dest.writeLong(eventUnixTime);
}
Пожалуйста, посоветуйте, как мне правильно сложить эти занятия в посылки и отправить их связкой.

Спасибо.< /p>

-R

Подробнее здесь: https://stackoverflow.com/questions/428 ... er-hashmap
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»