1

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;
}
Shah Alam
  • 23
  • 8
  • You should not create adapter every time, instead in onclick set the list in the adapter with some setter method and call notifydatasetchanged() – Debu Aug 12 '18 at 06:36

0 Answers0