Я не понимаю, почему мой ArrayList цитат удаляет все элементы после передачи параметров в AsyncTask.А почему в logcat размер ArrayList не равен 0?Перед дебаггером AsyncTask показывается, что размер не равен нулю.Я вижу созданную мной цитату.
Вот код AsyncTask:
private class InsertAsyncTask(private val bookDao: BookDao) : AsyncTask<Book, Void, Void>() {
override fun doInBackground(vararg books: Book?): Void? {
Log.i("Book", "inside AsyncTask " + (books[0]?.quotes?.size))
bookDao.insert(books[0])
return null
}
}
У меня в logcat:
I/Book: Book created
I/Book: insert Book before Async 2
I/Book: inside AsyncTask 2
I/Book: Book created
Но в отладчике я вижучто books [0] ?. цитаты? .size равно 0.
Book.java:
@Entity(tableName = "book_table")
@TypeConverters({Converters.class})
public class Book implements Serializable {
@PrimaryKey (autoGenerate = true)
private int id;
private String title;
private String author;
private ArrayList<Quote> quotes = new ArrayList<>();;
public Book(String title, String author) {
this.title = title;
this.author = author;
Log.i("Book", "Book created");
}
...
}
quote.java:
public class Quote {
private String text;
private String author;
public Quote(String text, String author) {
this.text = text;
this.author = author;
}
...
}