Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
176 views
in Technique[技术] by (71.8m points)

java - how to read all value from room data base and show into recyclerview?

I am using room database for storing json data from URL its working fine but while accessing data from data base to show on recyclerview its give one result at time and if i am open app second time then second object is showing, i am new in room can any one suggest me how to do this my code is. App my pojo class. My Adapter Class is.

   recyclerView = view.findViewById(R.id.recyclerView);
    postsAdapter = new PostsAdapter(new ArrayList<Example>());
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    addBorrowViewModel = ViewModelProviders.of(this).get(AddBorrowViewModel.class);
    addBorrowViewModel.getItemAndPersonList().observe(getActivity(), new Observer<List<Example>>() {
        @Override
        public void onChanged(@Nullable List<Example> itemAndPeople)
        {
            recyclerViewAdapter.addAll(itemAndPeople);
        }
    });
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Follow this or this

You didn't add LiveData in your dao. Add livedata and it will automatically return the list for you. However

In your dao

@Query("select * from table_name")
public LiveData<List<Model>> getAll();

In your activity or fragment

 yourViewModel.getAll().observe(this, new Observer<List<Model>>() {
        @Override
        public void onChanged(@Nullable List<Model> models) {
            adapter.addAll(models);
        }
    });

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...