I am using Room persistence library to store data, want to set a list of data to recyclerView from database with button click. I have got data list from database using List<Employee> employees = database.employeeDao().getEmployeeList();
and Have a method in Dao interface class called @Insert
void insertList(List<Employee> employees);
, a constructor in RecyclerViewAdapter class ` List employeeList;
public EmployeeRecyclerAdapter(List<Employee> employeeList) {
this.employeeList = employeeList;
}`
How to set employees
list to recyclerview? Here are the codes:
MainActivity:
show.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
List<Employee> employees = database.employeeDao().getEmployeeList();
EmployeeRecyclerAdapter employeeAdapter = new EmployeeRecyclerAdapter(employeeList);
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
recyclerView.setAdapter(employeeAdapter);
// problem in below line
employeeAdapter.employeeDao.insertList(employees);
employeeAdapter.notifyDataSetChanged();
}
});
Dao interface:
@Dao
public interface EmployeeDao {
@Insert
void insert(Employee emp);
@Query("Delete from Employee_table")
void deleteAllEmployee();
@Query("Select * from Employee_table order by name ASC")
List<Employee> getEmployeeList();
@Insert
void insertList(List<Employee> employees);
} RecyclerVeiwAdapter: only constructor part
List<Employee> employeeList;
public EmployeeRecyclerAdapter(List<Employee> employeeList) {
this.employeeList = employeeList;
}