#java #android #orm #sugarorm
У меня есть записи в базе данных, хочу через адаптер поместить их в cardview, но
для этого мне нужен id этих записей, каким образом это сделать?
UPD: В документации я не понял, как получать id. Я понимаю что поидее должен использовать
getId, но как именно, что бы получить все Id из базы и запихнуть его в адаптер, я не
понимаю.
public class book extends SugarRecord {
@Unique
String title;
String edition;
private Long id;
public book(){
}
public book(String title, String edition){
this.title = title;
this.edition = edition;
}
public Long getId() {
return id;
}
@Override
public String toString() {
return "book{" +
"title='" + title + '\'' +
", edition='" + edition + '\'' +
", id=" + id +
'}';
}
}
MainActivity
List books = SugarRecord.listAll(book.class);
Log.d(TAG, String.valueOf(book.findById(book.class,44)));
ArrayList myDataset = getDataSet();
mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new RecyclerAdapter(myDataset);
mRecyclerView.setAdapter(mAdapter);
}
private ArrayList getDataSet() {
List books = SugarRecord.listAll(book.class);
ArrayList mDataSet = new ArrayList();
for (int i = 0; i < books.size(); i++) {
mDataSet.add(i, "item" + i);
}
return mDataSet;
}
Ответы
Ответ 1
Я так понимаю надо что-то типа такого? private ArrayListgetDataSet() { List books = Book.listAll(Book.class); ArrayList mDataSet = new ArrayList (); for (int i = 0; i < books.size(); i++) { mDataSet.add(books.get(i).getId()); } return mDataSet; } Ответ 2
id Вам не нужен. Чтобы достать все записи из таблицы используйте следующий код ListrecordsList = Record.listAll(Record.class) Соответственно подставьте вместо Record название своего класса Ответ 3
Sugar сам создает id. Его можно не добавлять самостоятельно. А получить id можно так: long id = book.save(); либо так: book.save(); long id = book.getId();
Комментариев нет:
Отправить комментарий