#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 Listbooks = 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();
Комментариев нет:
Отправить комментарий