I am trying to load some items from a table into a RecyclerView on my Android application. Some of the methods cause my application to crash and I have struggled to find a solution.
Here is my code for my function that sets the items:
public void loadItems() {
List<ListsRecyclerViewList> list = Arrays.asList(new ListsRecyclerViewList("item", "item"));
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview_activity_lists_view_all_lists);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
ListsRecyclerViewListAdapter adapter = new ListsRecyclerViewListAdapter(list);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(adapter);
}
Here is my adapter:
List<ListsRecyclerViewList> list;
public ListsRecyclerViewListAdapter(List<ListsRecyclerViewList> list) {
this.list = list;
}
@Override
public ListsRecyclerViewListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_recyclerview_view_list, parent, false);
ListsRecyclerViewListViewHolder viewHolder = new ListsRecyclerViewListViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ListsRecyclerViewListViewHolder holder, int position) {
holder.name.setText(list.get(position).getName());
holder.date.setText(list.get(position).getDate());
}
@Override
public int getItemCount() {
return list.size();
}
public static class ListsRecyclerViewListViewHolder extends RecyclerView.ViewHolder {
TextView name;
TextView date;
public ListsRecyclerViewListViewHolder(View view) {
super(view);
this.name = (TextView) view.findViewById(R.id.layout_recyclerview_view_list_name);
this.date = (TextView) view.findViewById(R.id.layout_recyclerview_view_list_date);
}
}
Also, this is the code for the RecyclerView items:
public String name;
public String date;
public ListsRecyclerViewList(String name, String date) {
this.name = name;
this.date = date;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDate() {
return name;
}
public void setDate(String date) {
this.date = date;
}
And finally, this is what I am trying to implement but throws errors:
public void loadItems() {
List<ListsRecyclerViewList> list = Arrays.asList(new ListsRecyclerViewList("item", "item"));
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview_activity_lists_view_all_lists);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
ListsRecyclerViewListAdapter adapter = new ListsRecyclerViewListAdapter(list);
ListsDatabaseClass database = new ListsDatabaseClass(this);
database.open();
Cursor cursor = database.loadLists();
list.add(new ListsRecyclerViewList(cursor.getString(1), cursor.getString(2)));
database.close();
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(adapter);
}
Thanks for any suggestions.
Aucun commentaire:
Enregistrer un commentaire