Исключение дополнений для модели ActiveAndroid

близкие! Я написал класс Book, который имеет объекты Chapter (отношение один ко многим). Он реализует метод public List Chapters(), как указано в документации. Это книга.java

@Table(name = "Books")
public class Book extends Model implements Serializable {

private static final long serialVersionUID = 1L;

@Column(name = "Name", unique = true, onUniqueConflict = Column.ConflictAction.IGNORE)
public String name;

@Column(name = "Sort")
public int sort;

public Book() {
    super();
}

public Book(String name, int sort) {
    super();
    this.name = name;
    this.sort = sort;
}

public List<Chapter> chapters() {
    return getMany(Chapter.class, "Book");
}

@Override
public String toString() {
    return name;
}
}

В основной деятельности я могу успешно получить объекты главы. Однако я должен передать объект книги другому действию, которое имеет фрагмент, и хотя я получаю заявленные атрибуты объекта (имя строки и сортировка int), он выдает исключение, когда я вызываю главы():

Bundle bundle = getIntent().getExtras();
Book book = (Book) bundle.getSerializable("BOOK");

// This line is executed successfully
Log.d("TAGGED", "Recovered book: " + book.name + " has " + book.sort + " as its sort");

// This is the line that throws an exception
ArrayList<Chapter> chapters = book.chapters();

выброшенное исключение следующее:

05-06 15:21:59.701: E/AndroidRuntime(9647): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hanovit.libraria/com.hanovit.libraria.chapter.ChapterActivity}: java.lang.NullPointerException
05-06 15:21:59.701: E/AndroidRuntime(9647):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
05-06 15:21:59.701: E/AndroidRuntime(9647):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)

05-06 15:21:59.701: E/AndroidRuntime(9647): Caused by: java.lang.NullPointerException
05-06 15:21:59.701: E/AndroidRuntime(9647):     at     com.activeandroid.query.From.getArguments(From.java:207)
05-06 15:21:59.701: E/AndroidRuntime(9647):     at com.activeandroid.query.From.execute(From.java:183)
05-06 15:21:59.701: E/AndroidRuntime(9647):     at com.activeandroid.Model.getMany(Model.java:266)

Есть идеи, что не так? Спасибо!!!


person Josue Montano    schedule 06.05.2013    source источник


Ответы (1)


Ошибку отправили на Github, и теперь она исправлена ​​(https://github.com/melvin7/ActiveAndroid)

On the other hand, putting into the extras bundle only the ID of the column also works. Then I can get the full object with

Model.load(Book.class, id)

person Josue Montano    schedule 08.05.2013